Udostępnij za pośrednictwem


Przełącznik Xamarin.Android

Widżet Switch (pokazany poniżej) umożliwia użytkownikowi przełączanie się między dwoma stanami, takimi jak WŁĄCZONE lub WYŁĄCZONE. Wartość domyślna Switch to OFF. Widżet jest wyświetlany poniżej zarówno w stanach WŁ., jak i WYŁ.:

Zrzuty ekranu przedstawiający widżet Przełączanie w stanach WYŁ. i WŁ.

Tworzenie przełącznika

Aby utworzyć przełącznik, po prostu zadeklaruj Switch element w formacie XML w następujący sposób:

<Switch android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

Spowoduje to utworzenie podstawowego przełącznika, jak pokazano poniżej:

Zrzut ekranu przedstawiający aplikację pokazową wyświetlającą przełącznik w stanie WYŁ.

Zmienianie wartości domyślnych

Zarówno tekst wyświetlany przez kontrolkę dla stanów WŁ., jak i OFF oraz wartość domyślna można skonfigurować. Aby na przykład ustawić ustawienie Domyślne przełącznika na WŁĄCZONE i odczytać wartość NIE/TAK zamiast WYŁĄCZONE/WŁĄCZONE, możemy ustawić checkedatrybuty , textOni textOff w poniższym kodzie XML.

<Switch android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checked="true"
        android:textOn="YES"
        android:textOff="NO" />

Podawanie tytułu

Widżet Switch obsługuje również dołączanie etykiety tekstowej przez ustawienie atrybutu text w następujący sposób:

<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" />

Ten znacznik tworzy następujący zrzut ekranu w czasie wykonywania:

Zrzut ekranu przedstawiający aplikację demonstracyjną z tekstem w poziomie poprzedzającym widżet Przełącz

SwitchGdy wartość elementu zmieni się, zgłasza CheckedChange zdarzenie. Na przykład w poniższym kodzie przechwycimy to zdarzenie i przedstawimy Toast widżet z komunikatem na isChecked podstawie wartości Switch, która jest przekazywana do programu obsługi zdarzeń w ramach argumentu CompoundButton.CheckedChangeEventArg .

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 ();
};