禁用Android列表视图“蓝色”背景

时间:2012-01-12 15:24:18

标签: android android-listview

当我点击Android中的列表项时,我总是得到一个蓝色背景。事件如果我使用自定义布局,当我点击时,我的布局周围的2-5dp空间可能是蓝色。此外,文本视图变得更暗。如何在单击列表项时禁用视图中的任何更改?

5 个答案:

答案 0 :(得分:5)

我知道它迟到了,但也可以使用listview的setSelector方法并将其设置为android.R.color.transparent。您还可以在布局文件中使用android:listSelector来获得相同的结果。

答案 1 :(得分:3)

/res/values/themes.xml中为您的应用创建自定义主题:

<?xml version="1.0" encoding="utf-8"?>
<resources>

  <!-- application theme -->
  <style name="CustomTheme" parent="android:style/Theme.Light">

    <!-- widget styles -->
    <item name="android:listViewStyle">@style/ListView</item>
  </style>

  <!-- list view -->
  <style name="ListView" parent="@android:style/Widget.ListView">
    <item name="android:background">#ffffff</item>
    <item name="android:cacheColorHint">#ffffff</item>
    <item name="android:divider">#cccccc</item>
    <item name="android:dividerHeight">1px</item>
    <item name="android:listSelector">@drawable/list_selector_background</item>
    <item name="android:fadingEdge">none</item>
  </style>

</resources>

AndroidManifest.xml中指定主题:

<application
    ...
    android:theme="@style/CustomTheme" >

答案 2 :(得分:3)

您可以在ListView上将android drawSelectorOnTop属性设置为false,并且在单击某个项目时不会有任何背景。

例如:

<ListView android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:drawSelectorOnTop="false"/>

答案 3 :(得分:2)

使用此

<ListView 
        android:listSelector="@android:color/transparent" 
        android:cacheColorHint="@android:color/transparent"
        />

有关详细信息,请访问此处

  

http://developer.android.com/reference/android/widget/ListView.html

答案 4 :(得分:0)

我这样做了:

<ListView
    android:listSelector="@android:color/transparent"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
/>