UGUI 中Dropdown控件的使用經驗

UGUI 中Dropdown控件的使用經驗


      在Untiy的UGUI 剛出來的時候,是沒有“下拉列表”(Dropdown)控件的,這在無形中給我們的UI界面開發帶來困難,不過在Untiy5.2.2之後這個局面終於打破。下面我來說一下關於Dropdown 控件的使用。

      1: 添加“下拉列表”內容。

        public Dropdown Drd_IPList;
    
         //初始化
        Dropdown.OptionData op1=new Dropdown.OptionData();
        op1.text = "220.110.1.10";
        Drd_IPList.options.Add(op1);

        Dropdown.OptionData op2 = new Dropdown.OptionData();
        op2.text = "220.110.1.11";
        Drd_IPList.options.Add(op2);


     2:  獲取當前節點。

        Txt_CurrentNode.text = Drd_IPList.options[Drd_IPList.value].text;


     3: 刪除指定節點。

       Drd_IPList.options.Remove(_DicDropDown["220.110.1.11"]);


以上內容是一個簡單的說明,結合以上功能實現,我做了一個Demo 演示項目,內容如下,供大家參考。



演示Demo 項目 如下:


public class TestDropdown : MonoBehaviour
{
    //IP列表
    public Dropdown Drd_IPList;
    //顯示選擇的內容
    public Text Txt_CurrentNode;
    //存儲Dropdown 控件中的內容,爲刪除使用
    private Dictionary<string, Dropdown.OptionData> _DicDropDown;


    void Start () {
        _DicDropDown=new Dictionary<string, Dropdown.OptionData>();

        //清空默認節點
        Drd_IPList.options.Clear();

        //初始化
        Dropdown.OptionData op1=new Dropdown.OptionData();
        op1.text = "220.110.1.10";
        Drd_IPList.options.Add(op1);

        Dropdown.OptionData op2 = new Dropdown.OptionData();
        op2.text = "220.110.1.11";
        Drd_IPList.options.Add(op2);

        Dropdown.OptionData op3 = new Dropdown.OptionData();
        op3.text = "220.110.1.12";
        Drd_IPList.options.Add(op3);
        //初始化節點暫存集合中。
        _DicDropDown.Add(op1.text, op1);
        _DicDropDown.Add(op2.text, op2);
        _DicDropDown.Add(op3.text, op3);
    }

    /// <summary>
    /// 獲取當前節點
    /// </summary>
    public void GetCurrentNode()
    {
        Txt_CurrentNode.text = Drd_IPList.options[Drd_IPList.value].text;
    }

    /// <summary>
    /// 刪除節點
    /// </summary>
    public void RemoveNode()
    {
        //Drd_IPList.options.Remove(); //必須刪除“OptionDate 類型”
        if (_DicDropDown.ContainsKey("220.110.1.11"))
        {
            Drd_IPList.options.Remove(_DicDropDown["220.110.1.11"]);
        }
    }

}//Class_end



如果各位朋友,有對以上代碼有疑問的,可以直接留言。謝謝。

爲了更好的學習,提供這個下拉列表的Demo 下載包。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章