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; } } }
========================================================