1 Toggle属性面板

​ 在 Hierarchy 窗口右键,选择 UI 列表里的 Toggle 控件,即可创建 Toggle 控件,选中创建的 Toggle 控件,按键盘【T】键,可以调整 Toggle 控件的大小和位置。

​ 创建 Toggle 控件时,系统会自动为其创建 2 个 Image 子控件和 1 个 Text 控件,如下:

  • Background:Image 控件,选择框背景;
  • Checkmark:Image 控件,勾选图标;
  • Label:Text 控件,选择框右边的文字说明。

​ Toggle 控件的属性面板如下:

​ 说明:Group 用于指定分组,可以应用于复选框和单选框。

2 Toggle 注册事件

​ 点击 OnValueChanged 下面的 “+” 号,可以为选择框添加响应事件,可以添加多个事件。

1)注册已有组件的方法

​ 点击 OnValueChanged 下面的 “+” 号,将 Toggle 下面的 Label 拖拽到 OnValueChanged 面板里,选择 Text.text,下方文本设置 "xxxx",如下:

​ 单击 Toggle,选择框右边的文本会显示为 “xxxx”,如下:

2)注册脚本组件里面的方法

​ 给 Toggle 控件添加 ToggleController 脚本组件如下:

​ ToggleController.cs

using UnityEngine;

public class ToggleController : MonoBehaviour {

	public void OnClick1() {
Debug.Log("Click1");
} public void OnClick2(string msg) {
Debug.Log("Click2, msg=" + msg);
} public void OnClick3(bool isOn) {
Debug.Log("Click3, isOn=" + isOn);
}
}

​ 注意:待注册的方法,最多只能提供 1 个参数, 当参数为 bool 类型时,入参表示选择框的选中状态。

​ 点击 OnValueChanged 下面的 “+” 号,将 ToggleController 脚本组件拖拽到 OnValueChanged 面板里,选择 ToggleController.OnClick1 方法;再点击 OnValueChanged 下面的 “+” 号,将 ToggleController 脚本组件拖拽到 OnValueChanged 面板里,选择 ToggleController.OnClick2 方法,其下方输入"xxxx";点击 OnValueChanged 下面的 “+” 号,将ToggleController 脚本组件拖拽到 OnValueChanged 面板里,选择 ToggleController.OnClick3 方法。如下:

​ 单击 2 次选择框,打印日志如下:

3)代码里注册事件

​ 给 Toggle 控件添加 ToggleController 脚本组件如下:

​ ToggleController.cs

using UnityEngine;
using UnityEngine.UI; public class ToggleController : MonoBehaviour { private void Start() {
Toggle toggle = GetComponent<Toggle>();
toggle.onValueChanged.AddListener(OnValueChanged);
} public void OnValueChanged(bool isOn) {
Debug.Log("OnValueChanged, isOn=" + isOn);
}
}

​ 注意:AddListener 方法里只能添加入参为 bool 类型的方法,可以添加多个方法。

​ 单击 2 次选择框,打印日志如下:

3 Toggle Group(选择框组)

​ Toggle Group(选择框组)一般用于单选或多选。

​ 在 Canvas 下创建一个 Empty 对象,改名为 ToggleGroup,在其下创建 4 个 Toggle 控件,并改名为 Toggle1~Toggle4,如下:

​ 4 个 Toggle 设置 label 分别为 one、two、three、four,IsOn 属性都不勾选,如下:

​ 给 ToggleGroup 对象添加 ToggleGroup 组件,如下:

​ 说明:AllowSwitchOff 属性用于设置单选框是否允许一个都不选。

​ 选中 Toggle1~Toggle4,将 ToggleGroup 对象拖拽到 Toggle1~Toggle4 的 Group 面板属性中,如下:

​ 此时再单击选择框,选择框最多只有一个被选中(单选框),如下:

​ 声明:本文转自【Unity3D】UGUI之Toggle

【Unity3D】UGUI之Toggle的更多相关文章

  1. Unity3d UGUI 通用Confirm确认对话框实现(Inventory Pro学习总结)

    背景 曾几何时,在Winform中,使用MessageBox对话框是如此happy,后来还有人封装了可以选择各种图标和带隐藏详情的MessageBox,现在Unity3d UGui就没有了这样的好事情 ...

  2. ugui中toggle.isOn的属性笔记

    准备知识 toggle:指unity3d引擎中UGUI的 toggle组件 (单选框) 本文使用lua语言描述 事件触发 使用unity的ugui,你如果细心观察会发现toggle在界面被关闭/隐藏( ...

  3. Unity3D 之UGUI 切换开关(toggle)

    (toggle)开关能够实现通过点击实现开和关. 开关下面有两个游戏元素,一个是背景,一个是文字,背景是开关按钮的背景. 可以通过 Is ON开控制开关的开与关. Group -->分组,能够实 ...

  4. Unity3D UGUI之ScrollView弹簧效果

    unity3d版本5.3.2p4 UGUI中ScrollView包含Viewport(Content) ScrollView包含脚本.其Movement Type一共3个选项.Elastic就是弹簧效 ...

  5. Unity3D UGUI下拉菜单/Dropdown组件用法、总结

    Unity3D中UGUI实现下拉菜单 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...

  6. Unity3D - UGUI的手动搭建

    了解UGUI组件的搭建方式,有助于搭建我们自己的UI界面. Text 文本 text 是UGUI中的基本控件,在Hierarchyi面板创建一个空物体 - 给这个空物体添加一个Text组件即可实现与t ...

  7. Unity3d uGUI适配

    Cavas: 1.Render Model设置为:Screen Space- Camera.如果想在UI前面加特效我可以在创建一个摄像机(UIForward)深度大于这个UICamera就行了. 2. ...

  8. Unity3D UGUI学习系列索引(暂未完成)

    U3D UGUI学习1 - 层级环境 U3D UGUI学习2 - Canvas U3D UGUI学习3 - RectTransform U3D UGUI学习4 - Text U3D UGUI学习5 - ...

  9. UGUI之Toggle使用

    Toggle对象是一个开关.一般用于单选,可以用Toggle制作背包的选项卡 在场景中创建Toggle按钮.看看他有Toggle组件

  10. Unity3D UGUI窗口拖拽

    在开发UGUI时 我们时常需要做一个窗口拖拽的功能 先上代码 using UnityEngine; using UnityEngine.EventSystems; public class DragW ...

随机推荐

  1. C++模板显示指定类型时使用引用遇到的问题

    1.问题 这里我想让模板函数接收int和char类型的参数,并进行相加,显示指定参数类型为int. 第一个调用理论上会自动将char类型强转成int类型,后进行相加: 第二个调用理论上会自动将int类 ...

  2. c# 编写 WebAssembly

    创建一个.net 7.0类库工程,引用下面的nuget包: <PackageReference Include="Microsoft.AspNetCore.Components.Web ...

  3. 【面试题精讲】什么是websocket?如何与前端通信?

    > 有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准`https://blog.zysicyj.top` [首发博客地址](https://blog.zysicyj.t ...

  4. [转帖]OceanBase 存储引擎详解

    https://zhuanlan.zhihu.com/p/436485359 作者简介:沈炼,蚂蚁集团技术风险部数据库高级专家毕业于东南大学,2014年以来从事 OceanBase 在蚂蚁的架构工作, ...

  5. SQLServer备份恢复的总结-同名恢复与异名恢复

    SQLServer备份恢复的总结 前言 GUI 搞一把. 命令行太多了也没人看 自己还能省点心 备份 备份数据库建议一定要选择: 备份选项中的 压缩->压缩备份 历史经验一个7.6G的数据库能够 ...

  6. [转帖]TiKV集群搭建

    https://www.cnblogs.com/luohaixian/p/15227788.html 1.准备环境 准备4台ubuntu 16.04虚拟机 部署规划: 节点类型 CPU 内存 存储 部 ...

  7. 【转帖】【性能提升神器】STRAIGHT_JOIN

    今天给大家下另一个性能提升神器-STRAIGHT_JOIN,在数据量大的联表查询中灵活运用的话,能大大缩短查询时间. 首先来解释下STRAIGHT_JOIN到底是用做什么的: STRAIGHT_JOI ...

  8. [转帖] Linux命令拾遗-常用的辅助开发类命令

    https://www.cnblogs.com/codelogs/p/16060735.html 原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介# 之前介绍了大量 ...

  9. [转帖]如何用python连接Linux服务器

    1.安装paramiko库 pip install paramiko 2.使用paramiko库连接linux #导入库 import paramiko 创建一个sshclient对象 ssh = p ...

  10. [转帖]Linux系统awk命令详解

    AWK 是一种处理文本文件的语言,是一个强大的文本分析工具. 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 ...