Xamarin.Android Switch
Switch
ウィジェット (以下に示します) を使用すると、ユーザーは ON または OFF などの 2 つの状態を切り替えることができます。 Switch
の既定値は OFF です。 このウィジェットの ON と OFF の両方の状態を次に示します。
スイッチの作成
スイッチを作成するには、次のように XML 内で Switch
要素を宣言するだけです。
<Switch android:layout_width="wrap_content"
android:layout_height="wrap_content" />
これにより、次のような基本的なスイッチが作成されます。
既定値の変更
ON と OFF の状態でコントロールに表示されるテキストと、既定値の両方を構成できます。 たとえば、スイッチを既定では ON に設定し、OFF/ON ではなく NO/YES を読み取るには、次の XML 内で checked
、textOn
、textOff
属性を設定できます。
<Switch android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:textOn="YES"
android:textOff="NO" />
タイトルの指定
Switch
ウィジェットでは、text
属性を次のように設定することで、テキスト ラベルを含めることもサポートされます。
<Switch android:text="Is Xamarin.Android great?"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:textOn="YES"
android:textOff="NO" />
このマークアップは、実行時に次のスクリーンショットを生成します。
Switch
の値が変更されると、CheckedChange
イベントが発生します。
たとえば、次のコード内ではこのイベントをキャプチャし、CompoundButton.CheckedChangeEventArg
引数の一部としてイベント ハンドラーに渡される Switch
の isChecked
の値に基づいたメッセージを含む Toast
ウィジェットを表示します。
Switch s = FindViewById<Switch> (Resource.Id.monitored_switch);
s.CheckedChange += delegate(object sender, CompoundButton.CheckedChangeEventArgs e) {
var toast = Toast.MakeText (this, "Your answer is " +
(e.IsChecked ? "correct" : "incorrect"), ToastLength.Short);
toast.Show ();
};