Xamarin Android 스위치Xamarin.Android Switch

Switch 위젯 (아래 참조)을 사용 하면 사용자가 설정 또는 해제와 같은 두 가지 상태를 전환할 수 있습니다.The Switch widget (shown below) allows a user to toggle between two states, such as ON or OFF. Switch 기본값은 OFF입니다.The Switch default value is OFF. 위젯은 다음과 같이 ON 및 OFF 상태 모두에 표시 됩니다.The widget is shown below in both its ON and OFF states:

OFF 및 ON 상태에서 스위치 위젯의 스크린샷Screenshots of a Switch widget in OFF and ON states

스위치 만들기Creating a Switch

스위치를 만들려면 다음과 같이 XML에서 Switch 요소를 선언 하면 됩니다.To create a switch, simply declare a Switch element in XML as follows:

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

그러면 다음과 같이 기본 스위치가 생성 됩니다.This creates a basic switch as shown below:

OFF 상태의 스위치를 표시 하는 데모 앱의스크린샷Screenshot of demo app displaying a Switch in the OFF state

기본값 변경Changing Default Values

컨트롤이 켜기 및 끄기 상태에 대해 표시 하는 텍스트와 기본값을 구성할 수 있습니다.Both the text that the control displays for the ON and OFF states and the default value are configurable. 예를 들어 스위치를 기본적으로 ON으로 설정 하 고 OFF/NO/YES를 읽도록 설정 하면 다음 XML에서 checked, textOntextOff 특성을 설정할 수 있습니다.For example, to make the Switch default to ON and read NO/YES instead of OFF/ON, we can set the checked, textOn, and textOff attributes in the following XML.

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

제목 제공Providing a Title

Switch 위젯은 다음과 같이 text 특성을 설정 하 여 텍스트 레이블 포함도 지원 합니다.The Switch widget also supports including a text label by setting the text attribute as follows:

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

이 태그는 런타임에 다음 스크린샷을 생성 합니다.This markup produces the following screenshot at runtime:

스위치 위젯 앞에 텍스트를 가로로 포함 하는 데모 앱의 스크린샷Screenshot of demo app with text horizontally preceding the Switch widget

Switch값이 변경 되 면 CheckedChange 이벤트가 발생 합니다.When a Switch's value changes, it raises a CheckedChange event. 예를 들어 다음 코드에서는이 이벤트를 캡처하고 CompoundButton.CheckedChangeEventArg 인수의 일부로 이벤트 처리기에 전달 되는 SwitchisChecked 값을 기반으로 하 Toast 위젯을 표시 합니다.For example, in the following code we capture this event and present a Toast widget with a message based upon the isChecked value of Switch, which is passed to the event handler as part of the CompoundButton.CheckedChangeEventArg argument.

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