Android列表查看整个列表被选中

我似乎在列表视图中有一个UI问题.我有一个列表视图,并选择列表中的任何项目,突出显示整个列表视图.选择工作正常,我在收听者中获得正确的项目.

但是问题是当我选择任何项目时,整个listview被突出显示,所以很难判断哪一行被选中.

这在Android> 3.1上正常工作 – 目前我正在2.3设备上进行测试.

<ListView
        android:id="@+id/myList"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:layout_marginTop="@dimen/margin_medium"
        android:background="@drawable/border"
        android:listSelector="#99000000"
        android:scrollbarFadeDuration="1000000"
        android:scrollbars="vertical" >
    </ListView>
我最近有同样的问题,但原因是在Android< 3.0错误:如果您为列表项按下的选择器设置一个@color作为可绘制,那么它将填充整个列表区域.解决方案是使用“shape”drawable而不是@color. 因此,在res / drawable文件夹中创建一个新的XML文件,内容相似:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <solid android:color="@color/my_list_item_pressed_color" />
</shape>

并且在您的ListView选择器中为state_pressed创建的引用(也可以在res / drawable文件夹中创建为XML文件):

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true" android:drawable="@drawable/list_item_pressed_bg" />
    <item android:drawable="@android:color/transparent" />
</selector>

并在您的ListView中使用此选择器:

<ListView
    .....
    android:listSelector="@drawable/list_item_selector" />

就这样.至少与Android 2.2-2.3一起工作.

相关文章
相关标签/搜索