Viewはユーザーの操作によって状態が変化します。
Viewの状態に合わせた画像に切り替えるときにselectorを使ってState Listを定義します。
複数の状態は上から順に判定され、最初にマッチした状態が適用されます。
<?xml version="1.0" encoding="utf-8"?>
<!--
■constantSize
・true → 全状態の画像で一番大きいものにサイズを合わせる
・false → 各画像のサイズに合わせて変化する。
■dither
・true → 画面と画像の間で画素構成が異なるときにディザリングを有効にする。
・false → 画面と画像の間で画素構成が異なるときにディザリングを無効にする。
■variablePadding(わからない)
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android" android:constantSize="true">
<!--
■state_pressed
・true → 押している状態
・false → 押していない状態
■state_enabled
・true → 有効状態
・false → 非有効状態
■state_checked
・true → チェック状態
・false → 非チェック状態
■state_focused
・true → フォーカスが当たった状態
・false → フォーカスが外れている状態
■state_activated
・true → 活性状態
・false → 非活性状態
■state_hovered(*指じゃ反応しないと思う)
・true → ホバー状態
・false → 非ホバー状態
■state_selected(*指じゃ反応しないと思う)
・true → 十字キーなどのデバイスで選択状態になった状態
・false → 非選択状態
■state_window_focused
・true → Viewが所属するWindowにフォーカスが当たっている状態
・false → Viewが所属するWindowにフォーカスが外れている状態(*ダイアログが表示されている等)
■state_checkable(わからない)
・true → チェック可能オブジェクト
・false → チェック不可能オブジェクト
-->
<item android:drawable="@color/colorPrimaryDark" android:state_pressed="true" />
<item android:drawable="@color/colorAccent" android:state_pressed="false" />
</selector>