一,Button组件

按钮组件:可响应用户的点击并用于启动或确认操作。

1.1 组件介绍

属性:

  • Interactible:此属性确定该组件是否接受输入。此属性设置为 false 时,交互被禁用,过渡状态也将设置为禁用状态。
  • Transition:在可选组件中,有几个过渡选项,具体取决于可选组件的当前状态。不同的状态包括:正常、突出显示、按下和禁用。
  • Navigation:还有许多导航选项可用于控制如何实现控件的键盘导航。

过度模式:(颜色为例其他同理)

  • Target Graphic:用于交互组件的图形。
  • Normal Color:控件的正常颜色
  • Highlighted Color:控件突出显示时的颜色
  • Pressed Color:控件按下时的颜色
  • Disabled Color:控件禁用时的颜色
  • Color Multiplier:这会将每个过渡的着色颜色乘以其值。由此可以创建大于 1 的颜色,从而使基色小于白色(或小于完整 Alpha)的图形元素上的颜色(或 Alpha 通道)变亮。
  • Fade Duration:从一个状态淡入淡出到另一个状态所需的时间(以秒为单位)

1.2 代码监听

  • 监听无参数形式
public Button m_Btn;
void Start()
{//监听无参数函数m_Btn.onClick.AddListener(OnClickBtn);
}public void OnClickBtn(int i)
{Debug.Log("带参函数响应,参数是:" + i);
}
  • 委托形式监听
public Button m_Btn;
void Start()
{//委托监听m_Btn.onClick.AddListener(delegate () {OnClickBtn(111);});
}public void OnClickBtn(int index)
{Debug.Log("委托监听, 参数是:" + index);
}
  • Lambda形式简化
public Button m_Btn;
void Start()
{//Lambda监听m_Btn.onClick.AddListener(() => {OnClickBtn(111);});
}public void OnClickBtn(int index)
{Debug.Log("委托监听, 参数是:" + index);
}

二,Toggle组件

开关组件:是让用户打开或关闭某个选项的复选框。

2.1 组件介绍

属性

  • Interactable:是否接收点击
  • Transition:确定控件以何种方式对用户操作进行可视化响应的属性。1
  • Navigation:确定控件顺序的属性。1
  • Is On:开关在开始时是否为打开状态
  • Toggle Transition:开关在其值发生变化时以图形方式作出的反应。提供的选项为 None_(即复选标记直接出现或消失)和 Fade_(即复选标记淡入或淡出)。
  • Graphic:用于复选标记的图像(那个对号√)。
  • Group:此开关所属的开关组。

2.2 代码监听

Toggle 的监听是默认传递当前是否勾选的bool值,这样可以方便用户直接使用。若需要加其他的参数也可以仿照1例中Button的委托或者Lambda形式去写就可以了。

public Toggle m_Toggle;void Start()
{m_Toggle.onValueChanged.AddListener(OnClickToggle);
}void OnClickToggle(bool isOn)
{if (m_Toggle.isOn){Debug.Log("此Toggle已勾选");}else{Debug.Log("此Toggle已取消勾选");}
}

三,Slider组件

滑动条组件:允许用户通过拖动鼠标从预定范围中选择数值。

3.1 组件介绍

属性

  • Interactable:此组件是否接受输入。
  • Transition:确定控件以何种方式对用户操作进行可视化响应的属性。1
  • Navigation:确定控件顺序的属性。1
  • Fill Rec:用于控件填充区域的图形。
  • Handle Rect:用于控件滑动“控制柄”部分的图形
  • Direction:拖动控制柄时滑动条值增加的方向。选项包括 Left To Right、Right To Left、Bottom To Top 和 Top To Bottom。
  • Min Value:控制柄处于极下端(由 Direction 属性确定)时的滑动条值。
  • Max Value:控制柄处于极上端(由 Direction 属性确定)时的滑动条值。
  • Whole Numbers:是否应该将滑动条约束为整数值?
  • Value:滑动条的当前数值。如果在 Inspector 中设置了该值,则该值将用作初始值,但是当值变化时,运行时的值也将变化。

3.2 代码监听


public Slider m_Slider;void Start()
{// 监听 --> 会自动将value作为参数传递m_Slider.onValueChanged.AddListener(OnValueChanged_Slider);
}void OnValueChanged_Slider(float value)
{Debug.Log("滑动条值改变响应方法, 当前Slider的值:" + value);
}

四,Scrollbar组件

滚动条组件:允许用户滚动由于太大而无法完全看到的图像或其他视图。

4.1 组件介绍

属性

  • Interactable:此组件是否接受输入
  • Transition:确定控件以何种方式对用户操作进行可视化响应的属性。1
  • Navigation:确定控件顺序的属性。1
  • Fill Rect:用于控件背景区域的图形。
  • Handle Rect:用于控件滑动“控制柄”部分的图形
  • Direction:拖动控制柄时滚动条值增加的方向。选项包括 Left To Right、Right To Left、Bottom To Top 和 Top To Bottom。
  • Value:滚动条的初始位置值,范围为 0.0 到 1.0。
  • Size:控制柄在滚动条内的比例大小,范围为 0.0 到 1.0。
  • Number Of Steps:滚动条允许的不同滚动位置的数量。(当前值小于1时, 滑块可以滑动到任意位置; 当大于1时则是已占比形式, 比如:numberOfSteps = 3, 则滑块每次移动1/3;)

4.2 代码监听

默认监听方式:会自动传递Scrollbar的Value作为属性。

拓展监听方式:使用Lambda表达式的方式进多参数传递

public Scrollbar m_Scrollbar;void Start()
{// 监听 --> 会自动将value作为参数传递m_Scrollbar.onValueChanged.AddListener(OnValueChanged_Scrollbar);// 或者 --> 还有其他参数可以这样写m_Scrollbar.onValueChanged.AddListener((float v) => { OnValueChanged_Scrollbar(v, m_Scrollbar.gameObject); });
}void OnValueChanged_Scrollbar(float value)
{Debug.Log("滚动条值改变响应方法, 当前Slider的值:" + value);
}
void OnValueChanged_Scrollbar(float value, GameObject go)
{Debug.Log("滚动条值改变响应方法, 当前Slider名称和值分别:" + go.name + value);
}

看过上篇的童鞋理解起来应该会很方便,因为它的默认监听方式和Slider组件是完全一样的,而拓展的监听方式又在Button组件讲解时介绍过。


五,DropDown组件

下拉选单组件:可用于让用户从选项列表中选择单个选项。

5.1 组件介绍

属性

  • Interactable:此组件是否接受输入
  • Transition:确定控件以何种方式对用户操作进行可视化响应的属性。
  • Navigation:确定控件顺序的属性。。
  • Template:下拉列表的模板的矩形变换。
  • Caption Text:用于保存当前所选选项的文本的文本 (Text) 组件。
  • Caption Image:用于保存当前所选选项的图像的图像 (Image) 组件。
  • Item Text:用于保存列表项的文本的文本组件。
  • Item Image:用于保存列表项的图像的图像组件。
  • Value:当前所选选项的索引。0 代表第一个选项,1 代表第二个,依此类推。
  • Options:可能选项的列表。可为每个选项指定一个文本字符串和一个图像。

5.2 代码监听

监听方式和上面基本一致,只是参数意义不同一个是Value进度值,一个是下拉选单的索引值


public Dropdown m_DropDown;void Start()
{m_DropDown.onValueChanged.AddListener(OnDropValueChange);
}void OnDropValueChange(int v)
{//切换选项 时处理其他的逻辑...Debug.Log("点击下拉控件的索引是..." + v);
}

六,Input Field组件

输入组件:是一种使文本 (Text) 控件的文本可编辑的方法。

6.1 组件介绍

属性

  • Interactable:此组件是否接受输入
  • Transition:确定控件以何种方式对用户操作进行可视化响应的属性。
  • Navigation:确定控件顺序的属性。
  • TextComponent:对用作输入字段内容的文本元素的引用
  • Text:起始值。开始编辑前置于字段中的初始文本。
  • Character Limit:可在输入字段中输入的最大字符数的值。
  • Content Type:内容类型,定义输入字段接受的字符类型。
  • Line Type:换行类型
  • Placeholder:占位符,默认显示值,初始值:“Enter text…”
  • Caret Blink Rate:光标闪烁速率,定义该行上的标记的闪烁速率。
  • Caret Width:光标宽度,定义该行上的标记的宽度。
  • Custom Caret Color:是否开始光标颜色设置
  • Caret Color:光标颜色
  • Selection Color:所选文本部分的背景颜色。
  • Hide Mobile Input:隐藏附加到移动设备屏幕键盘上的本机输入字段。(仅支持IOS)

6.2 代码监听

输入组件:有两个可监听的操作,一个是当内容被改变时,一个是结束编辑时,监听方式和上面差不多,不一样的是此时的参数是组件中用户输入的内容作为字符串被返回来了

public InputField m_InputField;void Start()
{// 当内容被改变时回调m_InputField.onValueChanged.AddListener(OnInputValueChanged);// 内容编辑结束时回调m_InputField.onEndEdit.AddListener(OnInputEndEdit);
}void OnInputValueChanged(string context)
{Debug.Log("输入框内容改变为:" + context);
}void OnInputEndEdit(string context)
{Debug.Log("输入框内容编辑结束, 最终内容为:" + context);
}

Unity 基础 之 代码动态监听UI交互组件汇总相关推荐

  1. 本地java【动态监听】zk集群节点变化

    [README]搭建zk cluster, refer 2 https://blog.csdn.net/PacosonSWJTU/article/details/111404364 [1] 动态监听代 ...

  2. vue动态监听窗口高度 - 全背景banner

    vue动态监听窗口高度 - 全背景banner 参考项目文件 src/hr/index.vue [结合下文:第一种方法] 第一种方法:[本文手写代码] data() {return {screenHe ...

  3. zookeeper专题:使用zookeeper客户端实现动态监听节点并获取数据

    文章目录 1. zookeeper原生客户端 2. Curator客户端 1. zookeeper原生客户端 zookeeper原生客户端就是zookeeper官方自带的客户端,作为代码与zk服务器交 ...

  4. 聊聊RabbitMq动态监听这点事

    很长时间没有分享过学习心得了,看了下发布记录,最后一篇文章的时间都在2020-12-10年了,今天抽时间整理下一个很早就想整理的技术分享.顺便说句题外话,因为我一直没时间整理,再加上开发的小伙伴对Mq ...

  5. Zookeeper——服务器动态上下线、客户端动态监听

    文章目录: 1.前言 2.实操步骤 2.1 服务端代码 2.2 客户端代码 2.3 测试 1.前言 某分布式系统中,主节点可以有多台,可以动态上下线,任意一台客户端都能实时感知到主节点服务器的上下线. ...

  6. JavaScript巧用Object的get和set方法实现js变量的动态监听

    javascript 面向对象系列更新: Javascript面向对象编程之工厂模式.构造函数和ES6的class类 JavaScript 面向对象之Object的getter和setter的使用 更 ...

  7. oracle未获得监听器,无监听文件listener.ora的动态监听小例试验

    在数据库服务器上,监听文件的位置是:$ORACLE_HOME/network/admin/listener.ora 试验如下: 移动db服务器上的监听文件,如下命令: [oracle@ENMOEDU ...

  8. oracle什么时候使用静态监听,Oracle监听之动态监听与静态监听特点

    动态注册不需要显示的配置listener.ora文件,实例启动的时候,PMON进程根据instance_name,service_name参数将实例和服务动态注册 1.如何查询某服务是静态监听注册还是 ...

  9. oracle 动态监听例子,ORACLE动态监听总结

    1 动态监听 本文档介绍ORACLE动态监听服务的配置及原理: 1.1 监听文件 $ORACLE_HOME/network/admin/listener.ora 1.2 动态监听 ORACLE实例在启 ...

最新文章

  1. python实现pdf转word详解_手把手|20行Python代码教你批量将PDF文件转为Word格式(包教包会)...
  2. OpenCV图像修补
  3. powerbi使用说明_PowerBI-Cli 工具使用指南
  4. java 杀掉 linux下进程和进程的子孙进程
  5. “Word.Tables”并不包含“Item”的定义的解决办法
  6. 实验4 C++程序的结构(4学时)
  7. java多线程学习系列
  8. 消费分期群体-在校大学生和职场白领
  9. 网易云上线新版容器服务,开放更多Kubernetes功能
  10. 矩阵的对数运算公式_对数(运算层面)
  11. 村长网推出用韩国论山特产草莓特制的低糖“村长草莓酱”
  12. DeepMind黄士杰:深度学习有创造性,正参与星际2项目
  13. CocosCreator h5游戏移动端全屏显示
  14. 13.不抱怨的世界--美,威尔.鲍温,陈敬旻译,2017-12-10
  15. R语言ggplot2可视化:使用ggpubr包的text_grob函数和as_ggplot函数可视化文本段落(将指定文本段落可视化出来、指定文本段可视化为图像)
  16. 智能化、高效化、轻量化 助力 倾斜摄影单体化思路
  17. 嘘,别着急!让腾讯架构师告诉你为什么要分库分表
  18. QGC地面站二次开发(一)地面站介绍以及软件框架(3)QGC汉化步骤介绍
  19. VSCode插件之View In Browser/Open in Browser‘在浏览器中查看’
  20. checkpoint机制,show engine innodb status

热门文章

  1. 解决炫光、LED 闪烁问题:车载 HDR 图像传感器 IMX390
  2. 【VPN(虚拟专用网)攻略大全】
  3. Planar Graph
  4. 龙珠超宇宙2服务器中断,龙珠超宇宙2联机服务器说明
  5. 蓝牙运动耳机哪个好、最好的蓝牙运动耳机推荐
  6. 战疫|高德工程师如何在3天上线“医护专车”
  7. 路由器逆向分析------binwalk工具的详细使用说明
  8. 关于edge浏览器 new bing 已申请且通过后没有出现聊天功能的问题解决
  9. Nessus漏洞扫描报告翻译问题解决办法!
  10. 怎样设置计算机u盘启动程序,怎么进入BIOS设置U盘启动_如何设置U盘为第一启动项?-192路由网...