Ripple
EffectをRecyclerView
のアイテムに追加しようとしています。オンラインで見てみましたが、必要なものが見つかりませんでした。 Android:background
属性をRecyclerView
自体に試し、"?android:selectableItemBackground"
に設定しましたが、機能しませんでした。
私の親のレイアウトはこのようなものです
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:padding="10dp">
<Android.support.v7.widget.RecyclerView
Android:id="@+id/dailyTaskList"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:clickable="true"
Android:focusable="true"
Android:scrollbars="vertical" />
</LinearLayout>
アダプターのテンプレートを以下に示します
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:custom="http://schemas.Android.com/apk/res-auto"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical">
<LinearLayout
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:orientation="vertical"
Android:padding="5dp">
<TextView
Android:id="@+id/txtTitle"
style="@style/kaho_panel_sub_heading_textview_style"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content" />
<TextView
Android:id="@+id/txtDate"
style="@style/kaho_content_small_textview_style"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
ソリューションを教えてください
Android:background="?attr/selectableItemBackground"
をアイテムレイアウトの一番上の親に追加すると、うまくいくはずです。ただし、場合によってはアニメーションが見逃され、Android:clickable="true"
を追加しても見逃されます。
<?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:background="?attr/selectableItemBackground"
Android:orientation="vertical">
<LinearLayout
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:orientation="vertical"
Android:padding="5dp">
<TextView
Android:id="@+id/txtTitle"
style="@style/kaho_panel_sub_heading_textview_style"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content" />
<TextView
Android:id="@+id/txtDate"
style="@style/kaho_content_small_textview_style"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
RecyclerView Item Parentで、追加
Android:background="?android:attr/selectableItemBackground"
以下のように:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:custom="http://schemas.Android.com/apk/res-auto"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:background="?android:attr/selectableItemBackground"
Android:orientation="vertical">
<LinearLayout
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:orientation="vertical"
Android:padding="5dp">
<TextView
Android:id="@+id/txtTitle"
style="@style/kaho_panel_sub_heading_textview_style"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content" />
<TextView
Android:id="@+id/txtDate"
style="@style/kaho_content_small_textview_style"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>