Version: Unity 6.0 (6000.0)
言語 : 日本語
トグル
ツールバー

ToggleButtonGroup

ToggleButtonGroup を使用して、Button 要素の論理グループから 1 つまたは複数を選択できるようにします。ToggleButtonGroup は、1 つのラベルと、相互作用可能なボタン要素のセットで構成されます。

ノート: 要素を Inspector ウィンドウの他のフィールドと揃えるには、.unity-base-field__aligned USS クラスを適用します。詳細については、BaseField を参照してください。

ToggleButtonGroup の作成

ToggleButtonGroup は、UI Builder、UXML、C# で作成できます。

UI Builder

UI Builder で ToggleButtonGroup を作成するには、以下を行います。

  1. ToggleButtonGroupLibrary パネルから Hierarchy パネルにドラッグします。
  2. Button 要素のセットを子要素として ToggleButtonGroup 要素に追加します。

UXML で ToggleButtonGroup を作成するには、UXML ドキュメントに ToggleButtonGroup 要素を追加し、Button 要素のセットを子要素として追加します。 例:

C#

C# で ToggleButtonGroup を作成するには、ToggleButtonGroup オブジェクトの新しいインスタンスを作成し、Button のセットを追加します。 例:

ToggleButtonGroup myElement = new ToggleButtonGroup("Label text");
myElement.Add(new Button("Button 1"));
myElement.Add(new Button("Button 2"));
myElement.Add(new Button("Button 3"));

デフォルトでは、一度に 1 つのボタンを選択できます。複数選択を有効にするには、is-multiple-selectiontrue に設定します。

空の選択を有効にするには、allow-empty-selectiontrue に設定します。

以下の UXML の例では、ボタンを含む ToggleButtonGroup を作成します。

<UXML xmlns="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements">
    <ToggleButtonGroup label="UXML Toggle Button Group">
        <Button text="A"/>
        <Button text="B"/>
        <Button text="C"/>
        <Button text="D"/>
        <Button text="E"/>
    </ToggleButtonGroup>
</UXML>

以下の C# の例は、ToggleButtonGroup とそのボタンのカスタマイズ可能な機能の一部を示しています。

/// <sample>
// Create custom buttons with Text value only.
var csharpToggleButtonGroupWithButtonTextOnly = new ToggleButtonGroup("C# Toggle Button Group Buttons with Text");
csharpToggleButtonGroupWithButtonTextOnly.Add(new Button() { text = "one", tooltip = "custom button one" });
csharpToggleButtonGroupWithButtonTextOnly.Add(new Button() { text = "two", tooltip = "custom button two" });
container.Add(csharpToggleButtonGroupWithButtonTextOnly);

// Create custom buttons with IconImage value only.
var csharpToggleButtonGroupWithButtonIconOnly = new ToggleButtonGroup("C# Toggle Button Group Buttons with Icons");
csharpToggleButtonGroupWithButtonIconOnly.Add(new Button() { iconImage = EditorGUIUtility.FindTexture("d_PlayButton"), tooltip = "Play" });
csharpToggleButtonGroupWithButtonIconOnly.Add(new Button() { iconImage = EditorGUIUtility.FindTexture("d_PauseButton"), tooltip = "Pause" });
csharpToggleButtonGroupWithButtonIconOnly.Add(new Button() { iconImage = EditorGUIUtility.FindTexture("d_StepButton"), tooltip = "Step" });
container.Add(csharpToggleButtonGroupWithButtonIconOnly);

// Create custom buttons with IconImage and Text.
var csharpToggleButtonGroupWithButtonIconAndText = new ToggleButtonGroup("C# Toggle Button Group Buttons with Icons and Text");
csharpToggleButtonGroupWithButtonIconAndText.Add(new Button() { iconImage = EditorGUIUtility.FindTexture("d_PlayButton"), text = "Play", tooltip = "Play" });
csharpToggleButtonGroupWithButtonIconAndText.Add(new Button() { iconImage = EditorGUIUtility.FindTexture("d_PauseButton"), text = "Pause", tooltip = "Pause" });
csharpToggleButtonGroupWithButtonIconAndText.Add(new Button() { iconImage = EditorGUIUtility.FindTexture("d_StepButton"), text = "Step", tooltip = "Step" });
container.Add(csharpToggleButtonGroupWithButtonIconAndText);

// Create custom buttons with IconImage, Text and AllowEmptySelection.
var csharpToggleButtonGroupSingleSelectionAndAllowEmptySelection = new ToggleButtonGroup("C# Toggle Button Group Buttons with Allow Empty Selection") { allowEmptySelection = true };
csharpToggleButtonGroupSingleSelectionAndAllowEmptySelection.Add(new Button() { iconImage = EditorGUIUtility.FindTexture("d_PlayButton"), text = "Play", tooltip = "Play" });
csharpToggleButtonGroupSingleSelectionAndAllowEmptySelection.Add(new Button() { iconImage = EditorGUIUtility.FindTexture("d_PauseButton"), text = "Pause", tooltip = "Pause" });
csharpToggleButtonGroupSingleSelectionAndAllowEmptySelection.Add(new Button() { iconImage = EditorGUIUtility.FindTexture("d_StepButton"), text = "Step", tooltip = "Step" });
container.Add(csharpToggleButtonGroupSingleSelectionAndAllowEmptySelection);

// Create a ToggleButtonGroup that allows multiple active selections.
var csharpToggleButtonGroupAllowMultiSelect = new ToggleButtonGroup("C# Toggle Button Group with Multiple Selection Enabled") { isMultipleSelection = true };
csharpToggleButtonGroupAllowMultiSelect.Add(new Button() { text = "X", tooltip = "tooltip text for X" });
csharpToggleButtonGroupAllowMultiSelect.Add(new Button() { text = "Y", tooltip = "tooltip text for Y" });
csharpToggleButtonGroupAllowMultiSelect.Add(new Button() { text = "Z", tooltip = "tooltip text for Z" });
container.Add(csharpToggleButtonGroupAllowMultiSelect);

// Create a ToggleButtonGroup that allows multiple active selections and allow empty selection.
var csharpToggleButtonGroupAllowMultiSelectWithAllowEmptySelection = new ToggleButtonGroup("C# Toggle Button Group with Multiple Selection and Allow Empty Selection") { isMultipleSelection = true, allowEmptySelection = true };
csharpToggleButtonGroupAllowMultiSelectWithAllowEmptySelection.Add(new Button() { text = "X", tooltip = "tooltip text for X" });
csharpToggleButtonGroupAllowMultiSelectWithAllowEmptySelection.Add(new Button() { text = "Y", tooltip = "tooltip text for Y" });
csharpToggleButtonGroupAllowMultiSelectWithAllowEmptySelection.Add(new Button() { text = "Z", tooltip = "tooltip text for Z" });
container.Add(csharpToggleButtonGroupAllowMultiSelectWithAllowEmptySelection);

// Create ToggleButtonGroup with a custom class that sets the text's font style to Bold.
var csharpToggleButtonGroupWithCustomClass = new ToggleButtonGroup("C# Toggle Button Group with a Custom Class");
csharpToggleButtonGroupWithCustomClass.AddToClassList("my-custom-style");
csharpToggleButtonGroupWithCustomClass.Add(new Button() { text = "Button A", tooltip = "Bolded font Button A" });
csharpToggleButtonGroupWithCustomClass.Add(new Button() { text = "Button B", tooltip = "Bolded font Button B" });
container.Add(csharpToggleButtonGroupWithCustomClass);
/// </sample>

この例を Unity でライブ体験するには、Window > UI Toolkit > Samples の順に移動します。

C# の基本クラスと名前空間

C# クラス: ToggleButtonGroup
名前空間: UnityEngine.UIElements
基本クラス: BaseField_1

メンバー UXML 属性

この要素は以下のメンバー属性を持ちます。

名前 説明
allow-empty-selection boolean true に設定すると、すべてのボタンのチェックが外れます。

プロパティ値が false の場合、コントロールは自動的に、最初の使用可能なボタンをオンに設定します。
is-multiple-selection boolean すべてのボタンを選択できるかどうか。

継承された UXML 属性

この要素は基本クラスから以下の属性を継承します。

名前 説明
binding-path string バインドするターゲットプロパティのパス。
focusable boolean 要素がフォーカス可能である場合は true。
label string フィールドの横に表示されるラベルを表す文字列。
tabindex int フォーカスリング内のフォーカス可能な要素をソートするために使用される整数。0 以上の値に設定する必要があります。
value UIElements.ToggleButtonGroupState フィールドに関連付けられた値。

この要素は VisualElement から以下の属性も継承します。

名前 説明
content-container string 子要素が追加されますが、通常は子要素は要素自体と同じです。
data-source Object 継承されたデータソースをオーバーライドするこの VisualElement にデータソースを割り当てます。このデータソースはすべての子に継承されます。
data-source-path string データソースから値へのパス。
data-source-type System.Type この VisualElement に割り当て可能なデータソースの型。

この情報は、設計時に有効なデータソースを指定できない場合に、データソースパスフィールドを補完するヒントとして UI Builder でのみ使用されます。
language-direction UIElements.LanguageDirection 要素のテキストの向きを示します。値は要素の子に伝播されます。

languageDirection を RTL に設定すると、テキストの反転と改行/折り返しの適切な処理による、右から左へ (RTL) の基本サポートが追加されます。ただし、包括的な RTL サポートは提供されません。これには、文字の並べ替えを含むテキストシェーピングと OpenType フォント機能のサポートが必要になるためです。将来のアップデートでは、言語、スクリプト、フォント機能の仕様に対応するための追加の API を含む、包括的な RTL サポートが予定されています。

このプロパティの RTL 機能を拡張するには、Unity Asset Store で入手可能なサードパーティ製のプラグインを探し、ITextElementExperimentalFeatures.renderedText を利用してください。
name string この VisualElement の名前。

このプロパティを使用して、特定の要素を対象とする USS セレクターを記述します。要素には一意の名前を付けるのが標準的です。
picking-mode UIElements.PickingMode mouseEvent または IPanel.Pick クエリの間にこの要素を選択 (ピック) できるかどうかを決定します。
style string VisualElement スタイルの値を設定します。
tooltip string ユーザーが要素をマウスオーバーした後、わずかな時間、情報ボックス内に表示するテキスト。これはエディター UI でのみサポートされます。
usage-hints UIElements.UsageHints VisualElement の意図されている使用パターンの概要を指定するヒント値の組み合わせ。このプロパティは、VisualElement がまだ Panel の一部でない場合にのみ設定できます。Panel の一部になると、このプロパティは事実上読み取り専用となり、変更しようとすると例外がスローされます。適切な UsageHints を指定することで、システムは、予想される使用パターンに基づいて、特定の操作を処理または加速する方法をより適切に決定できるようになります。これらのヒントは動作や視覚的な結果には影響せず、パネルとその中の要素の全体的なパフォーマンスにのみ影響することに注意してください。常に適切な UsageHints を指定するように検討することをお勧めしますが、特定の条件下 (例: ターゲットプラットフォームのハードウェア制限) では、一部の UsageHints が内部的に無視される可能性があることに留意してください。
view-data-key string ビューデータの永続性 (ツリーの展開状態、スクロール位置、ズームレベルなど) に使用されます。

このキーは、ビューデータストアからビューデータを保存およびロードするために使用されます。このキーを設定しないと、関連する VisualElement の永続性が無効になります。詳細については、ビューデータの永続性を参照してください。

USS クラス

以下の表は、すべての C# パブリックプロパティ名と、それに関連する USS セレクターのリストです。

C# プロパティ USS セレクター 説明
ussClassName .unity-toggle-button-group この型の要素の USS クラス名。
containerUssClassName .unity-toggle-button-group__container この型の要素のコンテナ要素の USS クラス名。
ussClassName .unity-base-field この型の要素の USS クラス名。
labelUssClassName .unity-base-field__label この型の要素のラベルの USS クラス名。
inputUssClassName .unity-base-field__inputこの型の要素の入力要素の USS クラス名
noLabelVariantUssClassName .unity-base-field--no-label ラベルが存在しない場合のこの型の要素の USS クラス名。
labelDraggerVariantUssClassName .unity-base-field__label--with-dragger この型の要素にドラッガーがアタッチされている場合の、ラベルの USS クラス名。
mixedValueLabelUssClassName .unity-base-field__label--mixed-value 混合値を示す要素の USS クラス名
alignedFieldUssClassName .unity-base-field__aligned Inspector 要素で整列されている要素の USS クラス名
disabledUssClassName .unity-disabled ローカルで無効に設定されている要素の USS クラス名。

Inspector または UI Toolkit Debugger の Matching Selectors セクション を使用して、階層のすべてのレベルで VisualElement のコンポーネントに影響する USS セレクターを確認することもできます。

追加リソース

トグル
ツールバー
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961