前言:每日记录自己学习unity的心得和体会,小弟才疏学浅,如有错误的地方,欢迎大佬们指正,感谢~
1.下拉框创建出来
1. 你的数据如果是固定不变你就可以直接在(如下图)修改
2.直接上代码方法
void Start()
{
AddNames();
UpdateDropdownView(listNames);
}
//给下拉框动态添加名字
private void AddNames()
{
string s4 = "东邪";
string s5 = "西毒";
string s6 = "南帝";
string s7 = "北丐";
string s8 = "中神通";
listNames.Add(s4);
listNames.Add(s5);
listNames.Add(s6);
listNames.Add(s7);
listNames.Add(s8);
}
//刷新下拉框显示
private void UpdateDropdownView(List<string> showNames)
{
//清空下下拉框数据
dropdown.options.Clear();
Dropdown.OptionData tempData;
for (int i = 0; i < showNames.Count; i++)
{
tempData = new Dropdown.OptionData();
tempData.text = showNames[i];
dropdown.options.Add(tempData);
}
//把第一条数据显示为默认
dropdown.captionText.text = showNames[0];
}
上面就是代码动态添加,根据自己需求使用,这只是修改了显示的数据,你肯定也需要绑定事件来触发效果
下面是绑定事件
void Start()
{
dropdown.onValueChanged.AddListener(Change);
}
//给下拉框绑定事件
private void Change(int index)
{
switch (index)
{
case 0:
Debug.Log("这是黄老邪");
break;
case 1:
Debug.Log("这是欧阳锋");
break;
case 2:
Debug.Log("这是一灯大师");
break;
case 3:
Debug.Log("这是洪七公");
break;
case 4:
Debug.Log("这是王重阳");
break;
default:
break;
}
}
最后是完整代码,可以运行自行查看效果
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Rodem_rig : MonoBehaviour
{
public Button exit_btn;
public Button queding_btn;
public Dropdown dropdown;
public List<string> listNames = new List<string>();
// Start is called before the first frame update
void Start()
{
AddNames();
UpdateDropdownView(listNames);
dropdown.onValueChanged.AddListener(Change);
exit_btn.onClick.AddListener(delegate
{
Destroy_OBJ();
});
}
//给下拉框绑定事件
private void Change(int index)
{
switch (index)
{
case 0:
//
Debug.Log("这是黄老邪");
break;
case 1:
Debug.Log("这是欧阳锋");
break;
case 2:
Debug.Log("这是一灯大师");
break;
case 3:
Debug.Log("这是洪七公");
break;
case 4:
Debug.Log("这是王重阳");
break;
default:
break;
}
}
//给下拉框动态添加名字
private void AddNames()
{
string s4 = "东邪";
string s5 = "西毒";
string s6 = "南帝";
string s7 = "北丐";
string s8 = "中神通";
listNames.Add(s4);
listNames.Add(s5);
listNames.Add(s6);
listNames.Add(s7);
listNames.Add(s8);
}
//刷新下拉框显示
private void UpdateDropdownView(List<string> showNames)
{
//清空下下拉框数据
dropdown.options.Clear();
Dropdown.OptionData tempData;
for (int i = 0; i < showNames.Count; i++)
{
tempData = new Dropdown.OptionData();
tempData.text = showNames[i];
dropdown.options.Add(tempData);
}
//把第一条数据显示为默认
dropdown.captionText.text = showNames[0];
}
public void Destroy_OBJ()
{
Destroy(this.gameObject);
}
}
这是打印效果