Android。スイッチ。トグル

レイアウト作成

<Switch android:id="@+id/toggle_switch"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:checked="true"
    android:textColor="#3e3e3e"
    android:text="toggle switch button"/>

CompoundButton を利用してイベントを取得

CompoundButton は public abstract class CompoundButton extends Button implements Checkable ってドキュメントに書いてあった。

CompoundButton | Android Developers

CheckBox, RadioButton, Switch, SwitchCompat, ToggleButton とかのイベントは CompoundButton で取得できるらしい。

OFF/ON のステートを持ったボタンの共通機能を具備した抽象クラスです。抽象クラスなのでこれ自体をそのまま部品として使うことはできません。

ボタンをチューンしよう! このサイト様に書いてあった。ありがとうございます。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    CompoundButton toggle = (CompoundButton) findViewById(R.id.toggle_switch);
    toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if (isChecked) {
                Log.d("MainActivity", "ON");
            } else {
                Log.d("MainActivity", "OFF");
            }
        }
    });
}