首页 > 代码库 > Unity学习笔记(2)——关于Dropdown的学习

Unity学习笔记(2)——关于Dropdown的学习

今天组长让我写一个界面,其中用到了下拉条,我的印象还停留在以前的NGUI有现成的组件,但是uGUI没有的那阶段,组长跟我说uGUI现在也有了,研究了一下,发现real方便哦,今天就来简单说一下用法吧。

技术分享
Dropdow


用法也就是点开会有一个下拉列表,选中的可以显示。
那么第一个问题来了

  • 就是怎么在下拉列表里填上我们所需要的选项,显示我们需要的个数
    首先呢,遇到一个没有用过的组件不要紧张,可以先看看面板上都有些什么属性,一般来说Inspect界面上的都是可以获取的,有些事可以改的有些的不能改的,如上图,在OptionA,OptionB,OptionC上面有一个词 Options,那我们大概就知道要获取或者更改选项的个数和内容应该是跟这个Options有关了

来来来先呈上代码

 

public class UIDropdownItem : MonoBehaviour {

    Dropdown dropdownItem;
    List<string> tempNames;

    void Awake()
    {
        dropdownItem = GetComponent<Dropdown>();
        tempNames = new List<string>();
    }

    void Start()
    {
        AddNames();
        UpdateDropdownView(tempNames);
    }

    /// <summary>
    /// 刷数据
    /// </summary>
    /// <param name="showNames"></param>
    private void UpdateDropdownView(List<string> showNames)
    {
        dropdownItem.options.Clear();
        Dropdown.OptionData tempData;
        for (int i = 0; i < showNames.Count; i++)
        {
            tempData = http://www.mamicode.com/new Dropdown.OptionData();
            tempData.text = showNames[i];
            dropdownItem.options.Add(tempData);
        }
        dropdownItem.captionText.text = showNames[0];
    }
    /// <summary>
    /// 模拟数据
    /// </summary>
    private void AddNames()
    {
        string s1 = "小白";
        string s2 = "小胖";
        string s3 = "桃桃";
        string s4 = "南瓜";
        string s5 = "宝哥哥";

        tempNames.Add(s1);
        tempNames.Add(s2);
        tempNames.Add(s3);
        tempNames.Add(s4);
        tempNames.Add(s5);
    }
}

核心的一句话就是在刷数据那个方法里,先定义一个Dropdown.OptionData类型的,然后往里面填数据,最后别忘了最后一句话,把显示的值换成选项里的第一个也就是ShowNames[0],盆友你可以试着写一写看一看哦
来先看一下我的这个运行的结果吧

技术分享
呦呦呦


聪明的你也发现了我在这里只更改了text的值,想下其他的值该怎么获取或者更改呢,像Image啊什么的

技术分享
Dropdown的底层


这是Unity里面关于Dropdown的底层,我们能看出来text还有image都是可以get,set的,还有存储OptionData的也是,快去试一下吧~

Unity学习笔记(2)——关于Dropdown的学习