包含此页的版本:
不含此页的版本:
此示例使用 Toggle 创建条件 UI。
该示例创建了一个带有两个切换开关的自定义编辑器窗口。您可以使用切换开关执行以下作:
您可以在此 GitHub 存储库中找到此示例创建的已完成文件。
要创建示例,请执行以下作:
使用任何模板创建 Unity 项目。
在Editor文件夹中,创建一个名为ToggleExample内容如下:
using UnityEngine;
using UnityEditor;
using UnityEngine.UIElements;
namespace Samples.Editor.Controls
{
public class ToggleExample : EditorWindow
{
private Toggle showToggle;
private Toggle activateToggle;
private Label labelToShow;
private Button buttonToActivate;
[MenuItem("Window/ToggleExample")]
public static void OpenWindow()
{
var window = GetWindow<ToggleExample>("Controls: Toggle Sample");
window.minSize = new Vector2(200, 170);
}
public void CreateGUI()
{
showToggle = new Toggle("Show label")
{
value = true
};
activateToggle = new Toggle("Active button")
{
value = true
};
labelToShow = new Label("This label is shown when the above toggle is set to On");
buttonToActivate = new Button(() => Debug.Log("Button pressed!"))
{
text = "Active if above toggle is On"
};
rootVisualElement.Add(showToggle);
rootVisualElement.Add(labelToShow);
rootVisualElement.Add(activateToggle);
rootVisualElement.Add(buttonToActivate);
showToggle.RegisterValueChangedCallback(evt => labelToShow.visible = evt.newValue);
activateToggle.RegisterValueChangedCallback(evt => buttonToActivate.SetEnabled(evt.newValue));
}
}
}
若要尝试此示例,请从菜单中选择“窗口”>“ToggleExample”。