假设要做个民族选项的下拉框,我设置为200*60大小,1-5各部分都要设置为自己需要的大小。比如1的Label为140*60,2的Arrow为60*60,3的高度设为60,4的高度设为300,设置5的宽度3的宽度会自动调整。
Template模板下Item下的ItemImage是自己添加的,可用来设置每一项的背景图片。那么Dropdown组件下的ItemImage项就要设置为自己添加的名为ItemImage的图片。
关键代码:
private Dropdown m_NationDropDown;
private int m_NationIndex;//民族 0-55
private void Awake()
{
//定义本窗体的性质
base.CurrentUIType.UIForm_Type = UIFormType.Normal;
base.CurrentUIType.UIFormShow_Type = UIFormShowType.Normal;
base.CurrentUIType.UIFormLucency_Type = UIFormLucencyType.Lucency;
InitView();
}
void InitView()
{
Transform NationDropDownObj = UnityHelper.FindChildNode(this.gameObject, "NationDropDown");
if (NationDropDownObj != null)
{
m_NationDropDown = NationDropDownObj.GetComponent<Dropdown>();
m_NationDropDown.onValueChanged.AddListener(NationChanged);
string[] nationNameArr = new string[] { "汉族","蒙古族","回族","藏族", "维吾尔族", "苗族",
"彝族", "壮族", "布依族", "朝鲜族", "满族", "侗族", "瑶族", "白族", "土家族", "哈尼族",
"哈萨克族", "傣族", "黎族", "僳僳族", "佤族", "畲族", "高山族", "拉祜族", "水族", "东乡族",
"纳西族", "景颇族", "柯尔克孜族", "土族", "达斡尔族", "仫佬族", "羌族", "布朗族", "撒拉族",
"毛南族", "仡佬族", "锡伯族", "阿昌族", "普米族", "塔吉克族", "怒族", "乌孜别克族", "俄罗斯族",
"鄂温克族", "德昂族", "保安族", "裕固族", "京族", "塔塔尔族", "独龙族", "鄂伦春族", "赫哲族", "门巴族", "珞巴族", "基诺族" };
for (int i = 0; i < nationNameArr.Length; i++)
{
Dropdown.OptionData data = new Dropdown.OptionData();
data.text = nationNameArr[i];
//data.image = "可以设置每一项的背景图片";
m_NationDropDown.options.Add(data);
}
}
}
void NationChanged(int value)
{
m_NationIndex = value;
}
参考资料:Unity 的 UGUI 组件Dropdown简析-蒲公英云
最终效果: