C# class: Toggle
Namespace: UnityEngine.UIElements
Base class: BaseBoolField
The following table lists all the supported attributes.
名前 | 型 | 説明 |
---|---|---|
binding-path |
string |
バインドされるべきターゲットプロパティのパス。 |
content-container |
string |
child elements are added to this element, usually this |
focusable |
boolean |
要素がフォーカス可能である場合は true。 |
label |
string |
フィールドの横に表示されるラベルを表す文字列。 |
name |
string |
The name of this VisualElement. Use this property to write USS selectors that target a specific element. The standard practice is to give an element a unique name. |
picking-mode |
string |
mouseEvents または IPanel.Pick クエリの間にこの要素を選択 (ピック) できるかどうかを決定します。 |
style |
string |
Reference to the style object of this element. Contains data computed from USS files or inline styles written to this object in C#. |
tabindex |
int |
フォーカスリング内でフォーカス可能なものをソートするために使用される整数。0 以上であることが必要です。 |
text |
string |
Optional text that appears after the BaseBoolField. Unity creates a Label automatically if one does not exist. |
toolbar |
string |
Text to display inside an information box after the user hovers the element for a small amount of time. |
usage-hints |
string |
A combination of hint values that specify high-level intended usage patterns for the VisualElement .This property can only be set when the VisualElement is not yet part of a Panel . Once part of a Panel , this property becomes effectively read-only, and attempts to change it will throw an exception.The specification of proper UsageHints drives the system to make better decisions on how to process or accelerate certain operations based on the anticipated usage pattern.Note that those hints do not affect behavioral or visual results, but only affect the overall performance of the panel and the elements within. It’s advised to always consider specifying the proper UsageHints , but keep in mind that some UsageHints might be internally ignored under certain conditions (e.g. due to hardware limitations on the target platform). |
value |
boolean |
フィールドに関連付けられた値。 |
view-data-key |
string |
Used for view data persistence (ie. tree expanded states, scroll position, zoom level). This is the key used to save/load the view data from the view data store. Not setting this key will disable persistence for this VisualElement . |
Toggle には画像とラベルが含まれます。Button などの標準的な UI Toolkit コントロールと同様に、Toggle にも、MouseUpEvent
と PointerUpEvent
に登録される Clickable マニピュレーターが設定されています。これらのイベントのいずれかがマニピュレーターをトリガーすると、Toggle の値が true から false に、または false から true に変更されます。Toggle の現在の値は読み取ったり設定したりできます。また、Toggle をブール変数にバインドすることも可能です。
デフォルトでは、Toggle コントロールはチェックボックスとして表示されます。スタイルを適用することで、一般的なトグルスイッチのような見た目にすることもできます。
ドロップダウンからの選択や有効にされたオプションなどの、他の条件に基づいて、要素を表示または非表示にすることができます。Unity のカメラ Inspector も条件付き UI の一例です。これは Physical Camera モードを有効にすると追加のオプションを表示します。
Toggle は Change イベント に応答します。
To see which USS selectors affect the components of the Toggle at every level of its hierarchy, use the Matching Selectors section in the Inspector or the UI Toolkit Debugger.
簡単な Toggle の例を見るには、Unity で Window > UI Toolkit > Samples > Toggle を選択してください。
The following example uses a Toggle to create a conditional UI. The example creates a custom Editor window with two toggles. You can use the toggles to do the following:
この例で作成するすべてのファイルは、GitHub リポジトリ にあります。
サンプルを作成するには以下を行います。
任意のテンプレートで Unity プロジェクトを作成します。
Project ウィンドウに、Editor
という名前のフォルダーを作成します。
Editor
フォルダーに、以下のコンテンツを含む ToggleExample
という C# ファイルを作成します。
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);
EditorGUIUtility.PingObject(MonoScript.FromScriptableObject(window));
}
public void OnEnable()
{
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));
}
}
}
例を試すには、メニューから Window > ToggleExample を選択してください。