Xamarin.Android Switch
Switch
小组件(如下所示)允许用户在两种状态(如 ON 或 OFF)之间切换。 Switch
的默认值为 OFF。 小组件在其 ON 和 OFF 状态中,如下所示:
创建 Switch
要创建开关,只需在 XML 中声明Switch
元素,如下所示:
<Switch android:layout_width="wrap_content"
android:layout_height="wrap_content" />
这会创建基本开关,如下所示:
更改默认值
控件针对 ON 和 OFF 状态显示的文本以及默认值都是可配置的。 例如,要使 Switch 默认为 ON 并读取 NO/YES 而不是 OFF/ON,我们可以在以下 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
事件。
例如,在以下代码中,我们捕获此事件,并基于Switch
的isChecked
值(作为CompoundButton.CheckedChangeEventArg
参数的一部分传递给事件处理程序)呈现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 ();
};