Toggle 组件
========================================================
Toggle 切换键 复选框
========================================================
组成部分:
Toggle 核心组件
--Image 背景图片
--Image 复选标记,选中时该图片才会显示
--Text 描述文字
----------------------------------
面板参见Button
----------------------------------
Is On 是否选中
仅用来响应UI状态切换,在面板中控制切换,不会影响UI的显示状态。可用代码改变状态
----------------------------------
Target Graphic 背景图
Toggle Transition 切换过渡 Fade 渐变
Graphic 选中图
Group
----------------------------------
Toggle 事件监听
On Value Changed(Boolean) 当值改变时
----------------------------------
1.“当值改变事件”监听
m_Toggle.onValueChanged.AddListener(ToggleChanged);
//(ToggleChanged)监听事件执行用户自定的方法
2.通过代码改变 Toggle 状态
m_Toggle.isOn = true;
========================================================
4.Toggle 组件美化
1.复选框方式
操作演示
选中状态两张图片均可显示,因为图片是叠加关系。
using UnityEngine; using UnityEngine.UI; public class ToggleDemo : MonoBehaviour { private Toggle m_toggle; void Start () { m_toggle = gameObject.GetComponent<Toggle>(); m_toggle.onValueChanged.AddListener(ToggleChanged); m_toggle.isOn = false; } private void ToggleChanged(bool value) { print(value); } public void ToggleChngedtwo(bool value) { print(value+"面板"); } }
2.切换键[开关]方式
操作演示
选中状态时我们需要监听事件把背景图隐藏,因为图片是交错关系。
gameObject.transform. Find("Background").GetComponent<Image>().enabled = false;
using UnityEngine; using UnityEngine.UI; public class ToggleIsOnDemo : MonoBehaviour { private Toggle m_toggle; void Start () { m_toggle = gameObject.GetComponent<Toggle>(); m_toggle.onValueChanged.AddListener(IsOnValue); gameObject.transform.Find("Background").GetComponent<Image>().enabled = false; } private void IsOnValue(bool value) { if (value) { gameObject.transform. Find("Background").GetComponent<Image>().enabled = false; } else { gameObject.transform.Find("Background").GetComponent<Image>().enabled = true; } } }
========================================================