RecyclerView onItemClick效果在L中

时间:2014-07-25 14:37:46

标签: android-recyclerview

以前可能已经问过这个问题,但我无法找到准确的答案。我已将RecyclerView小部件作为我的L测试应用程序中的列表实现,并且我想获得'材质效果'当您单击列表中的项目时。我在onClickListener创建中实施了ViewHolder并设置了属性

android:background="?android:attr/selectableItemBackground"

作为我的列表项布局的背景(到父级)。

但这一切都没有奏效。当我点击没有发生的项目时#39;。没有效果,全息,材料,没有...请指出我在这里做错了什么......谢谢

3 个答案:

答案 0 :(得分:41)

桑德拉的回答对我不起作用。我在列表项布局中还需要一个属性:

android:clickable="true"
android:focusable="true"
android:background="?android:attr/selectableItemBackground"

注意:如果在最后一行粘贴时出现错误,那么您的Android应用程序将在版本10或更低版本上设置。只需右键单击Android Studio中的错误并进行设置,即可创建v11版本的布局。然后,在原始布局中,确保删除

android:background="?android:attr/selectableItemBackground"`

这是因为在v10版本的android或更低版本中不支持动画。设置这两个布局文件后,动画将在v11 +版本的Android中正确显示,当然它不会以较低版本显示。

(或者只是将应用的minSdkVersion版本增加到10以上)

答案 1 :(得分:37)

我犯了一个愚蠢的错误而没有把

android:clickable="true"
android:focusable="true"

到我的列表项布局。我认为这不是前L所必需的,但它并不重要,因为在这种情况下这就是问题。

答案 2 :(得分:4)

android:clickable="true"
android:focusable="true"

不再使用这些行。只需添加

android:background="?android:attr/selectableItemBackground"

为点击效果工作。