今天组长让我写一个界面,其中用到了下拉条,我的印象还停留在以前的NGUI有现成的组件,但是uGUI没有的那阶段,组长跟我说uGUI现在也有了,研究了一下,发现real方便哦,今天就来简单说一下用法吧。
用法也就是点开会有一个下拉列表,选中的可以显示。
那么第一个问题来了
来来来先呈上代码
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 = 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啊什么的
这是Unity里面关于Dropdown的底层,我们能看出来text还有image都是可以get,set的,还有存储OptionData的也是,快去试一下吧~
原文:http://www.cnblogs.com/pumpkinIris/p/5998617.html