Unity(一)关于Unity Dropdown控件的使用心得

/*更新记录:20190508*/

说明:以下分日期记录并分享自己使用的经验

           快速上手开发请参考最新日期的更新

核心在于dropdown.value 知道我们选择的索引是哪一个Item

2021更新记录

public Dropdown dropdown;

 dropdown.onValueChanged.AddListener((index) =>
 {
   UnityEngine.SceneManagement.SceneManager.LoadScene(index);
 }

2017功能记录

1:Dropdown控件组成

Lable和Arrow是用来显示初始化的文字和勾选项的,Lable会根据首选项的内容自动更改。

Template是Dropdown的模板样式,其中Background和Checkmark的图集资源我们可以提前更改。

2:Dropdown属性面板

Caption Text和Caption Image是作为下拉列表首选项的文字和图片显示,也是我们每次选择后的内容,因此可代码调用获取

Item Text作为下拉列表中每个item的文字显示,Item Image可以用来扩展模板增加内容

Value值会随着下拉列表选项的不同而变化,dropdown.value

Options选项栏内:可以动态赋值给Item对象  Dropdown.OptionData

 

4:代码模块

动态修改样式

    public string[] showText;//每个Item下的Text,用来显示和修改
    public Sprite[] sprite;//自己用来换每个Item的背景显示
    Dropdown dropDownItem;
    List<string> temoNames;
    List<Sprite> sprite_list;
    void Start()
    {
        dropDownItem = this.GetComponent<Dropdown>();
        temoNames = new List<string>();
        sprite_list = new List<Sprite>();
        
        AddNames();
        UpdateDropDownItem(temoNames);
        
    }


    void UpdateDropDownItem(List<string> showNames)
    {
        dropDownItem.options.Clear();
        Dropdown.OptionData temoData;
        for (int i = 0; i <showNames.Count; i++)
        {
            //给每一个option选项赋值
            temoData = new Dropdown.OptionData();
            temoData.text = showNames[i];
            temoData.image = sprite_list[i];
            dropDownItem.options.Add(temoData);
        }
        //初始选项的显示
        dropDownItem.captionText.text = showNames[0];
        
    }
  
 void AddNames()
    {
        for (int i = 0; i <showText.Length; i++)
        {
            temoNames.Add(showText[i]);
        }
        for (int i = 0; i <sprite.Length; i++)
        {
            sprite_list.Add(sprite[i]);
        }
    }

 

这样可以在Templete里添加图。如下。。。似乎有点丑

 

 

 

PS:欢迎交流问题留言。





   

  • 10
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值