【Unity】Dropdown下拉按钮的一些基本操作 获取值与添加选项 |
您所在的位置:网站首页 › 怎么在已有下拉选项中添加新选项 › 【Unity】Dropdown下拉按钮的一些基本操作 获取值与添加选项 |
自己的老帖子,移植过来 原地址: http://www.manew.com/home.php?mod=space&uid=95681&do=blog&view=me&from=space Unity 5 Dropdown下拉按钮的一些基本操作 热度 7 2364 2015-11-23 20:24 |个人分类:UGUI| Unity, Dropdown 对于Unity 5.1 之前UGUI一直没有自带下拉列表这一点,楼主表示很蛋疼,插件什么的用着也不舒服,总感觉不如系统自带的好,前一段时间5.2.2更新,终于出了下拉列表,但楼主表示它用起来并没有那么简单,就最基本的获取当前选择项的文本来说,就不是一句“.value”能搞定的,那么下面我就先说下,如何获取当前选择的年文本, 废话少说,先上代码( 下面我简单说下为什么这样写, 这句dropdown.value可以获取当前选择项的序号,从第一项开始是0,1,2... 而dropdown.options是一个数组, 摘要: // The list of possible options. A text string and an image can be specified // for each option. 上面摘要是API里对它的解释,本人理解它就是保存所有所有下拉列表选项的一个数组。 那么接下来dropdown.options[dropdown.value]就可以获取数组里当前选择的那一项,它是OptionData类型的,访问其text属性就可以得到文本了。 运行结果,更改下拉框,右侧文本会随着改变。
好了,哭完了, 刚刚研究了很久,发现dropdown这个后来的控件真的很坑啊。。。找了一上午资料得到了如下结论:
dropdown(下拉按钮),想要动态控制它,我发现直接给它字符串不行,那么就要新建optionitem,之后我新建可optionitem发现不能把它加在dropdown的add方法中,因为无法为该item赋值,好,那我再找别的方法,我查Unity的API(一个Unity的官方文档,查看所有程序接口的),发现dropdown有方法“CreateItem”,那我现在要用它却发现它是,protect的(这代表,不允许随意使用),好我又找怎么访问protect的方法,百度告诉我,它的子类和友元函数可以实现访问,好!子类是肯定不是了,那么友元函数呢,我查了下,百度告诉我c#没有友元函数,,,我表示,,,
好吧,不管它了,吃了顿饭回来我突然发现了这个,,, 我去,该换眼镜了我,,,呵呵。好了不废话了,下面上代码(还是就两句话) [code]phpcode: public Dropdown dropdown; List inside=new List{"sdadsa","123daq","点卡和万科","!@^&@#","adw&^h科技"}; void Start() { dropdown.AddOptions(inside); }运行结果一定是你们想要的啦。。。 下面简单说下这个AddOption方法,它有三个重载,分别是可以传入的不同参数,(但都是泛型数组List) 第一种是string类型的list,就是我用的,不用多说啦 第二种是sprite类型的,第三种是dropdown.option类型的, 好啦,我在发现什么坑再来填吧,,,
回来看看,顺便补几句如何设置DropDown的UI部分吧 1.控件外观直接给个图片或颜色即可,直接拖拽就可以改变尺寸 2.对于下拉出来的内容,若调节每个子项的背景,在Template下最底层,Item Background给颜色或背景图即可 3.下拉出来内容的背景颜色,更改Template上的Image的背景图或颜色即可(即补上下的白边) 4.改变下拉内容子项的尺寸 直接更改Template下Item(以及其内容)的尺寸即可, PS:这次没配图,亲自试一下便知
===20200414=== 想要实现一个类似按钮Invoke的那种,调用按钮OnClick的Invoke,就会模拟点击按钮的需求, 要用代码调用Dropdown并改变状态,而且会通知其绑定的OnValueChange事件。 非常简单, 直接dropdown.value=某int值即可。它会根据你给的值,调用已经绑定的OnValueChange事件 dp.value = 2;若只想修改值,而不需要调用OnValueChange事件,需要调用如下方法 if (Input.GetKeyDown(KeyCode.Space)) { dp.SetValueWithoutNotify(2); }
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |