Udostępnij przez


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