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

你可能感兴趣的:(ListView 杂记)