zoukankan      html  css  js  c++  java
  • 【解决】GridView设置了 android:listSelector,选中某项背景色也会被选中

    listSelector是listview的一个属性用来控制某一项被选中时的颜色,在4.0以后的系统中这个listSelector表现正常,在2.3和2.2(可能还有其他版本)中这个属性会变成点击某项修改整个listview的背景颜色。

    为了解决这个问题,你不能在这个属性里面直接使用颜色,你需要创建一个在res/drawable/里面创建一个shape

    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
    
        <solid android:color="@color/my_list_item_pressed_color" />
    </shape>
    然后再创建一个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>
    最后再把listSelector属性设置成这个selector:

    <ListView
        .....
        android:listSelector="@drawable/list_item_selector" />
    在2.2和2.3上都可以正常工作了。


    参考http://stackoverflow.com/questions/10989225/android-listview-entire-list-getting-selected

  • 相关阅读:
    Activity的singleTask启动模式
    蓝图Tips
    UE4 C++ Tips
    UE4的抛物线
    透明材质
    在UE4 C++构造函数里的常规操作
    UE4的反射关键词
    UE4字符串的各种转换
    UE4Launch遇到的问题
    在UE4C++中的宏
  • 原文地址:https://www.cnblogs.com/xieyuan/p/3787314.html
Copyright © 2011-2022 走看看