ListView或者GridView默认点击效果失效

问题:

当我们用ListView或者GridView来展示数据的时候如果不对布局作任何处理,则它是有一个默认的点击效果的,即:按下去的时候整个item变灰,当手抬上来时还是恢复原来的颜色。但是最近遇到一个问题时默认效果消失了。如果我在布局文件里设置android:listSelector=”@drawable/selector”或者在代码里面设置setSelector()的话又不是那种点击变色放开还原的效果。

原因以及解决:

调试了很多种情况发现原因是我在item的布局文件里设置整个的背景颜色了,android:background=”@color/white”,如果在布局文件里面直接设置background为color则会把整个点击效果都被覆盖掉。因此,要么不要设置背景颜色,要么就设置背景颜色为drawable的selector文件,例如android:background=”@drawable/selector”

<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="@color/hongbao_background"/>
</shape>
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="@color/white"/>
</shape>
</item>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值