【Unity】Dropdown下拉按钮的一些基本操作 获取值与添加选项

您所在的位置:网站首页 怎么在已有下拉选项中添加新选项 【Unity】Dropdown下拉按钮的一些基本操作 获取值与添加选项

【Unity】Dropdown下拉按钮的一些基本操作 获取值与添加选项

2024-07-18 03:31:06| 来源: 网络整理| 查看: 265

自己的老帖子,移植过来

原地址:

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”能搞定的,那么下面我就先说下,如何获取当前选择的年文本,

废话少说,先上代码(其实也就一句话)

[code]phpcode: public Dropdown dropdown; public Text text; public void OnValueChanged() { text.text = dropdown.options[dropdown.value].text; }

下面我简单说下为什么这样写,

这句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); }

 

 

 

 



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


    图片新闻

    实验室药品柜的特性有哪些
    实验室药品柜是实验室家具的重要组成部分之一,主要
    小学科学实验中有哪些教学
    计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
    实验室各种仪器原理动图讲
    1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
    高中化学常见仪器及实验装
    1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
    微生物操作主要设备和器具
    今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
    浅谈通风柜使用基本常识
     众所周知,通风柜功能中最主要的就是排气功能。在

    专题文章

      CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭