Version: 2022.3
言語: 日本語
UXML 要素 RadioButton
UXML 要素 RectField

UXML 要素 RadioButtonGroup

RadioButtonGroup は、ラジオボタンの論理的グループからの単一選択の機能を提供します。1 つを選択すると他の選択がキャンセルされます。RadioButtonGroup は、DropdownField に似ていますが、全ての選択肢を UI に表示する点が異なります。

ユーザーのアクションへの応答

RadioButtonGroup は Changeイベント に応答します。

RadioButtonGroup を Integer 変数にバインドしたり、その値を受動的に評価することも可能ですが、通常は、選択肢のリストを定義してユーザー入力をリッスンします。

UI Builder で RadioButtonGroup の選択肢を追加する

RadioButtonGroup の選択肢を追加するには、RadioButtonGroup の Inspector で、Choices にカンマ区切りで選択肢を入力します。

デフォルト値を設定するには、RadioButtonGroup の Inspector で、Value に、0 から開始する選択肢番号のシーケンスを入力します。

C# スクリプトで RadioButtonGroup を作成する

以下の C# のコードスニペットは、4 つの選択肢を持つ新しい RadioButtonGroup を作成し、その ValueChanged コールバックに登録します。

var radiogroup = new RadioButtonGroup("Options", new List<string> { "Option 1", "Option 2", "Option 3", "Option 4" });
radiogroup.RegisterValueChangedCallback(evt => Debug.Log(evt.newValue));
window.rootVisualElement.Add(radiogroup);

RadioButton の使い方を学ぶ最良の方法は、サンプルを試してみることです。RadioButton のサンプルを見るには、Unityで Window > UI Toolkit > Samples > RadioButtonGroup と選択してください。

C# のクラスと名前空間

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

メンバー UXML 属性

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

名前 説明
choices string グループ内の利用可能な選択肢のリスト。

このプロパティに書き込むと、既存の RadioButton 要素が削除され、新しいリストを表示するためにそれらが再作成されます。

継承された UXML 属性

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

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

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

名前 説明
content-container string 子要素はそれに追加されますが、通常は要素自体と同じです。
name string この VisualElement の名前。

このプロパティを使用して、特定の要素を対象とする USS セレクターを記述します。要素には一意の名前を付けるのが標準的です。
picking-mode UIElements.PickingMode mouseEvents または IPanel.Pick クエリの間にこの要素を選択 (ピック) できるかどうかを決定します。
style string この要素のスタイルオブジェクトへの参照。

C# でこのオブジェクトに書き込まれた USS ファイルまたはインラインスタイルから計算されたデータが含まれます。
toolbar 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-radio-button-group RadioButtonGroup 要素の USS クラス名。

Unity はこの USS クラスを RadioButtonGroup 要素の全てのインスタンスに追加します。このクラスに適用されたスタイルは、ビジュアルツリーでスタイルシートの横または下にある全ての RadioButtonGroup に影響します。
containerUssClassName .unity-radio-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 インスペクター要素で整列される要素の USS クラス名
disabledUssClassName .unity-disabled ローカルで無効にされた要素の USS クラス名。

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

その他の参考資料

UXML 要素 RadioButton
UXML 要素 RectField