Android中关于Selector的使用

本文详细介绍了如何在Android中使用Selector为ListView和Button设置不同的样式,包括按压、选中状态的效果,并讨论了其在其他控件上的适用性及解决方法。
在Android中,对于ListView和Button都可以通过设置一个Selector来配置安排的表示效果,如下面的代码,就是一个Selector。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/bg_pop_pressed" />
<item android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/bg_pop_pressed" />
<item android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/transparent" />
</selector>

1.android:state_pressed="true" 当按钮处于按下状态时2.android:state_selected="true" android:state_pressed="false" 处于选中状态时3.android:state_selected="false" android:state_pressed="false" 既不处于选中状态,也不处于按下状态有一点可能需要注意的是,这个selector只能用在ImageButton,Button,ListView等需要选择的控件上,其他的控件无效,我之前有反编译一些其他的程序,看到有用在LinearLayout上等其他控件的,但是我自己尝试着也这么用,一点效果也没有,我找了很多资料,没有明确说不能这么用的,但是也没有找到可以这么用的例子,我自己写的没有效果,不知道各位有没有可以支持其他控件的例子,如果有的话,请给我一份,谢谢了。


补充:

      经过不断试验,已经解决问题了,所有其他控件都是可以用的,只要增加一个属性设置 android:clickable="true" 就可以了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值