Android:ListView设置item点击背景效果

项目中的ListView在实现点击跳转时,点击背景色意外改变。为保持原有背景色,通过在ListView布局中添加selector属性来实现点击效果。具体做法是在res/drawable创建course_list_selector.xml,定义不同状态的颜色。这样可以确保点击时背景颜色符合预期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景交代

项目中有一个ListView,并且设置了onItemClickListener,当点击item的时候跳转到另一个Fragment,我仅仅在跳转前加了一个if判断之后,点击效果背景色居然变了!!!。我删除判断后,还是不行啊,可是项目急着上线,要想保持原来的点击效果背景色,只能使用selector了。

使用方法

在ListView布局中添加一个属性

android:listSelector

例子如下所示:


 
< ListView
         android : id = "@+id/course_primary_list"
         android : layout_width = "match_parent"
         android : layout_height = "match_parent"
         android : layout_marginLeft = "10dp"
         android : layout_marginRight = "10dp"
         android : listSelector = "@drawable/course_list_selector"
         android : scrollbars = "none"
         android : divider = "@android:color/white"
         android : descendantFocusability = "beforeDescendants"
         android : dividerHeight = "1dp" / >

在res/drawable文件夹下新建course_list_selector.xml,根节点选择selector

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 这个是按下去的时候item显示背景色 -->;
    <item android:drawable="@color/course_list_item_pressed" android:state_pressed="true"></item>
    <!-- 这个是默认的item背景色,设为了透明 -->
    <item android:drawable="@android:color/transparent" android:state_pressed="false"></item>
 
</selector>

其中上面引用的course_list_item_pressed颜色是用旧版本的APP,在ListView页面按住item,拍照截屏给美工取出来的颜色,就是这样。

查看原文:http://blog.xiongit.com/2015/10/listview_item_selector/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值