前回、RecyclerViewを使ったリストを作った。
このリストはスクロールはできるものの、それ以上のことは何もできない。アイテムをクリックしても何も反応がない。
今回これにクリックした時のエフェクトをつけてみる。
といっても特段難しいことはなく、レイアウトXMLに属性を追加するだけである。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:background="?attr/selectableItemBackground">
<TextView
android:id="@+id/text01"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:padding="10dp" />
</LinearLayout>
いちばん外側のLinearLayoutの属性clickableとforcusableをtrueにし、backgraoundに”?attr/selectableItemBackground”を設定する。そうするとクリックしたところから波紋が広がるようなエフェクトが表示される。
さて──クリックエフェクトが追加されたものの、ただそれだけである。次はクリックイベントを拾ってその後の処理に繋げる方法を追加してみようと思う。