RecyclerViewのタップイベントにRippleEffectを掛けるのが意外に大変だった。
調べたところ、アイテムのレイアウトに、
android:background="?android:attr/selectableItemBackground"
を追加すればいいと書いてあることが多かったが、追加しても見えない。
RecyclerView#addOnItemTouchListenerのイベントのせいかとも思ったりしたが違う。
試行錯誤した結果、アイテムのレイアウトを、CardViewか、FrameLayoutで作成すればよかったみたい。
LinearLayoutやRelativeLayoutでは上のattributeを追加しても、RippleEffectは現れない。
適当に作ったサンプルだとLinearLayoutでもRippleが現れた……
よくわからない……


コメント