ListView 杂记

问题一:listview使选中行item高亮



大家都见过这样的侧滑菜单,现在这种菜单的实现有DrawerLayout,或者Slidingmenu等等。

基本这里面会包含一个listview,今天我们就来说一下listview选中一行之后,让这行的背景色变高亮,listview有一个属性是android:listSelector 这个的效果是手指点击这行没有抬起的过程都是高亮,但是抬起之后就变回之前的非高亮颜色了。我们要的效果是点击一行,手指抬起后这行也是高亮的。

 

listview有一个方法是  

public void setItemChecked(int position, boolean value)

这个方法就能实现我们的效果,第一个参数是item的下标,第二个参数是item是否选中。

 

只调用这个方法还不行,我们需要在listview的item布局里面设置一个背景资源

android:background="@drawable/menuitem_selectedindicator"
还要在代码里面设置listview的选择模式为单选:listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE)
 

menuitem_selectedindicator的代码:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@color/light_gray" android:state_activated="true"></item>
    <item android:drawable="@color/transparent"></item>

</selector>

--------------------------------Done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值