一、RecyclerView设置点击效果无效的解决办法

最近在学习使用RecyclerView,刚刚写了一个RecyclerView的点击事件,想添加一个点击效果,我是这么写的:


1、先在drawable目录下创建一个xml:item_selector.xml,文件内容如下:

<?xml version="1.0" encoding="utf-8"?>            

2、然后在RecyclerView的item布局中设置:

 android:background="@drawable/item_selector"


<?xml version="1.0" encoding="utf-8"?>    

3、然后在适配器中给TextView设置的点击事件。。。。。然后。。。。。运行以后怎么点都没有按下变色的效果。

说实话,RecyclerView也挺坑,这些东西还都得自己写,虽然性能上比listView好使,但其他的真是不敢恭维啊。


4、再各种尝试之后,发现原因:

android:background="@drawable/item_selector"
上述这条属性,必须设置在TextView上才会有效。

也就是说:我们在适配器中为哪个控件设置的点击事件,在xml中就得为哪个控件设置这条属性,这样才会有效果

之前我的错误就是为TextView设置了点击事件,结果xml中却是给RelativeLayout设置了background这条属性,所以不管怎么点击都是没效果的。这个错误也确实挺坑的。一不小心就会犯错。都是粗心热的祸啊!



二、好了,设置点击效果无效的问题解决了,下面说一下设置点击出现水波纹的效果

声明:水波纹效果只有在android 5.0以上的手机才会有水波纹效果的。

1、res目录下新建drawable-v21文件夹,如下图:


2、在drawable-v21文件夹下新建xml文件:item_selector.xml,文件内容如下:

<?xml version="1.0" encoding="utf-8"?>    

3、和文章开始说的设置点击效果的步骤一样,直接为item布局中的TextView设置background属性即可:

android:background="@drawable/item_selector"


4、最后,运行项目,就可以看到水波纹效果了,记住android5.0以下的设备是无法显示水波纹效果的!



更多相关文章

  1. android之Intent基本使用
  2. Android(安卓)studio 百度地图开发(8)地图已标记POI点和搜索POI点
  3. AndroidManifest.xml文件剖析
  4. android 一个很漂亮的控件ObservableScrollView(含片段代码和源码
  5. Launcher桌面点击&长按&拖动事件处理流程分析
  6. Android(安卓)init.c简析
  7. Monkey测试简介
  8. Android(安卓)Notification 详解
  9. xamarin android实现Toolbar+DrawerLayout完美侧滑导航栏

随机推荐

  1. GMS认证-Android(安卓)VTS测试
  2. Android(安卓)TabHost布局
  3. Android(安卓)软键盘imeOptions(Done)的用
  4. Activity对象的onCreate方法真是Android
  5. 我的android 第8天 - 单元测试
  6. Android之防火墙功能的实现
  7. Android与HTML+JS交互入门
  8. 细谈Android应用架构
  9. Android网络请求心路历程
  10. Android(安卓)设置投影效果