关于ListView 单选模式下 改变 选中的item的背景色

今天第一次在CSDN上写东西大笑,小激动一下。。。。。

额,进入正题-------------

前几天在Android Studio下建了个这么工程(玩过的大神,尽情鄙视啊。。。)

重点要说的在其左侧的菜单栏,是一个ListView(android:choiceMode="singleChoice"),点击一项,就变成了选中状态(这一项的背景色变成了淡蓝色)。于是想给它换个颜色,本想很简单去修改selector中的<item android:state_checked="" android:drawable="xxx" />就行了,可是并不起作用。迷惑~ 再看看代码,google一下,解之。。。


在这里跟大家分享一下:

需要注意这些点:

1.修改Layout文件相关

a、ListView控件注意加android:choiceMode="singleChoice"(单选这是,也可以使用多选)


b、定义Adapter item 布局,如果简单的话,直接使用系统提供好的 android.R.layout.simple_list_item_activated_1

复杂的就自己定义:在想要变化颜色的控件就上 android:background="?android:attr/activatedBackgroundIndicator"

2.values------style.xml:

定义:<item name="android:activatedBackgroundIndicator">@drawable/xxx</item>

3.自定义selector.xml(style.xml中用到的)

        <item android:drawable="xxx" android:state_activated="true"/>
4.Java代码中:
在OnItemClickListener 监听中添加  listView.setItemChecked(position, true);


可能写的有些凌乱了 睡觉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值