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 下载包。

附件:http://down.51cto.com/data/2368256