StateListDrawable.state_pressed

ステートリストを使うと、Viewの状態によって、画像や形状を変化させることができる・・・。

Drawable Resources | Android Developers

StateListDrawableのstate_pressed属性がtrueの時は押された時、falseの時は離された時なので、その状態ごとにshapeの形状を変える・・・。

strings.xmlは、

activity_main.xmlは、

今回はButton1ひとつだけ・・・。

f:id:BG1:20170104124624p:plain

drawableのXML追加・・・。

f:id:BG1:20170104124647p:plain

drawable_button.xml・・・。
今回はselectorにする・・・。

selectorタグをrootとし、各状態ごとにitemタグで分ける・・・。
android:state_pressed="false"がButton1から離された時なので、この時はshapeタグで、白地に赤い矩形を描画する・・・。
android:state_pressed="true"がButton1が押された時なので、この時はshapeタグで、赤地に白い矩形を描画する・・・。

f:id:BG1:20170104125346p:plain

最初はこうだが、Button1を押すと、

f:id:BG1:20170104125426p:plain

こうなる・・・。
で離すと元に戻る・・・。

Sample/android/StateListDrawable/state_pressed/src/StateListDrawable at master · bg1bgst333/Sample · GitHub