Switch widgetを使う

Switch widget

ICSのSettingsアプリ内『Wi-Fi設定のON/OFF』や『Bluetooth設定のON/OFF』に用いられているUI部品です。
APIレベル14から使用可能。
http://developer.android.com/intl/ja/reference/android/widget/Switch.html

Layoutの指定

Layoutファイルの指定方法

<Switch
    android:id="@+id/switchToggle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="SwitchTest" />

Switchのトグル操作をハンドリング

Switch.classのsetOnCheckedChangeListener()でリスナーを登録。
トグル操作すると、リスナーのonCheckedChanged()がコールされる。

public class TestApp extends Activity implements OnCheckedChangeListener {
    private Switch mSwitch;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        mSwitch = (Switch) findViewById(R.id.switchToggle);
        //トグル操作のリスナーを登録
        mSwitch.setOnCheckedChangeListener(this);
    }

    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
       Toast.makeText(this, "Monitored switch is " + (isChecked ? "on" : "off"),
               Toast.LENGTH_SHORT).show();
    }
}

widgetのソース

\frameworks\base\core\java\android\widget
- Switch.java