Android——UI篇:RecyclerView设置点击效果无效的解决办法和item设置水波纹效果:
来源:互联网 发布:淘宝国庆中秋放假通知 编辑:程序博客网 时间:2024/09/21 06:34
一、RecyclerView设置点击效果无效的解决办法
最近在学习使用RecyclerView,刚刚写了一个RecyclerView的点击事件,想添加一个点击效果,我是这么写的:
1、先在drawable目录下创建一个xml:item_selector.xml,文件内容如下:
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/colorListClickColor" android:state_pressed="true" /> <item android:drawable="@color/colorListClickColor" android:state_focused="true" /> <item android:drawable="@color/write" /></selector>
2、然后在RecyclerView的item布局中设置:
android:background="@drawable/item_selector"
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="100dp" android:background="@drawable/item_selector"> <TextView android:id="@+id/recycle_tv" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerInParent="true" android:gravity="center" android:textSize="20sp" /></RelativeLayout>
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"?><ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/colorListClickColor"> <item android:drawable="@color/write"/></ripple>
3、和文章开始说的设置点击效果的步骤一样,直接为item布局中的TextView设置background属性即可:
android:background="@drawable/item_selector"
阅读全文
0 0
- Android——UI篇:RecyclerView设置点击效果无效的解决办法和item设置水波纹效果:
- 【Android 界面效果48】Android-RecyclerView-Item点击事件设置
- RecyclerView水波纹点击效果
- [Android | Material Design] RecyclerView Item点击事件 添加水波纹效果 两种办法
- 记录一次给recyclerview item点击添加水波纹反馈效果没起作用的问题。
- Android:ListView设置item点击背景效果
- listview的item点击效果设置
- android的水波纹点击效果
- android水波纹点击效果的实现
- Android 水波纹点击效果
- Android 水波纹点击效果
- Android水波纹点击效果
- Android水波纹点击效果
- CardView 设置水波纹效果
- android listview 设置点击item背景颜色效果
- recylview和listview中item如何设置点击效果?
- Android点击屏幕出现水波纹效果
- Android L 水波纹点击效果
- 批处理删除txt文件的指定行
- Statement、PreparedStatement和CallableStatement异同
- oracle闪回
- leetcode--Lowest Common Ancestor of a Binary Tree
- HTTP 协议入门
- Android——UI篇:RecyclerView设置点击效果无效的解决办法和item设置水波纹效果:
- js延迟加载
- 回溯法:应用举例--八皇后问题
- 关于Redis服务外网访问不到的问题
- 解决jsignature签名缩略图在IE和firefox上显示不全问题
- adb服务启动错误
- Android 入门
- struts2--使用list属性同时处理多条注册信息
- 一句话证明你学过编程