A RadioButton lets you select a single choice when used along with other RadioButtons in a group. You can use a GroupBox to group RadioButtons. Otherwise, the panel acts as the default group.
You can create a RadioButton with UI Builder, UXML, or C#. The following C# example creates two new radio buttons in the same container and logically groups them together in the panel.
var choice1 = new RadioButton() { text = "Choice 1" };
choice1.RegisterValueChangedCallback(v => Debug.Log("Choice 1 is : " + v.newValue));
var choice2 = new RadioButton() { text = "Choice 2" };
choice2.RegisterValueChangedCallback(v => Debug.Log("Choice 2 is : " + v.newValue));
container.Add(choice1);
container.Add(choice2);
The following UXML example creates a RadioButton:
[!code-xml[(External/Resources/editor_resources/Assets/Editor Default Resources/UIPackageResources/Snippets/UXML/RadioButtonSnippet.uxml)]
The following C# example illustrates some of the customizable functionalities of the RadioButton:
[!code-cs[(Modules/UIElementsSamplesEditor/Snippets/RadioButtonSnippet.cs#sample)]
To try this example live in Unity, go to Window > UI Toolkit > Samples.
C# クラス: RadioButton
名前空間: UnityEngine.UIElements
基本クラス: BaseBoolField
この要素は基本クラスから以下の属性を継承します。
名前 | 型 | 説明 |
---|---|---|
binding-path |
string |
バインドされるべきターゲットプロパティのパス。 |
focusable |
boolean |
要素がフォーカス可能である場合は true。 |
label |
string |
フィールドの横に表示されるラベルを表す文字列。 |
tabindex |
int |
フォーカスリング内でフォーカス可能なものをソートするために使用される整数。0 以上であることが必要です。 |
text |
string |
BaseBoolField の後に表示されるオプションのテキスト。Label が存在しない場合は、Unity が自動的に Label を作成します。 |
value |
boolean |
フィールドに関連付けられた値。 |
この要素は、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 の永続性が無効になります。 |
以下の表は、すべての C# パブリックプロパティ名と、それに関連する USS セレクターのリストです。
C# プロパティ | USS セレクター | 説明 | |
---|---|---|---|
ussClassName |
.unity-radio-button |
RadioButton 要素の USS クラス名。 Unity はこの USS クラスを RadioButton 要素のすべてのインスタンスに加えます。このクラスに適用されるスタイルは、ビジュアルツリーでスタイルシートの横または下にあるすべての RadioButton に影響します。 |
|
labelUssClassName |
.unity-radio-button__label |
RadioButton 要素の Label 用の USS クラス名。RadioButton に Label がある場合、この USS クラスが RadioButtonの Labelサブ要素に加えられます。|
| inputUssClassName| .unity-radio-button__input|RadioButton 要素のうち input 要素の USS クラス名。<br /><br />この USS クラスが input サブ要素に加えられます。input サブ要素はマニピュレーターに応答します。|
| checkmarkBackgroundUssClassName| .unity-radio-button__checkmark-background|RadioButton 要素のチェックマーク背景の USS クラス名。<br /><br />このUSS クラスは RadioButtonの checkmark background サブ要素に加えられます。|
| checkmarkUssClassName| .unity-radio-button__checkmark|RadioButton 要素のチェックマークの USS クラス名。<br /><br />この USS クラスは RadioButtonの checkmark サブ要素に加えられます。|
| textUssClassName| .unity-radio-button__text|RadioButton 要素の Text 要素の USS クラス名。<br /><br />この USS クラスは RadioButtonの Text サブ要素に加えられます。|
| 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
のコンポーネントに影響するかを、階層のすべてのレベルで確認することもできます。