前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

Layoutにstate_pressedを認識させる

課題

ConstraintLayoutにタッチフィードバックをつけたい。selectorのstate_pressedを使おうとしたが
反応しない。どうすればよいか。

対応

selectorのstate_pressedはViewがclickableでないと反応しない。

<android.support.constraint.ConstraintLayout
    android:clickable="true"
    android:focusable="true"
    android:background="?android:attr/selectableItemBackground"
>

android:focusable=trueでないとclickもできないので合わせて設定。ないと警告がでる。
?android:attr/selectableItemBackgroundを使えば自分で作らなくてもエフェクトしてくれる