改变ListView on Pressed的背景不起作用,仍然是蓝色如何默认

时间:2013-12-13 13:41:23

标签: android listview android-listview android-styles

我尝试在我的Listview Android上更改列表项的背景但我尝试无效,我希望透明,我做到了:

项目

list_item_favorite.xml

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp"
    android:background="@drawable/listview_favorites_background"
    >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="New Text"
        android:layout_gravity="center_horizontal"
        android:textSize="20dp"
        android:id="@+id/recipe_name"
        android:background="@drawable/listview_favorites_textview_background"

        />
</LinearLayout>

并制作可绘制的通讯员

listview_favorites_background:

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

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <shape>
            <solid android:color="@color/transparente" />
        </shape>
    </item>

    <item android:state_selected="true">
        <shape>
            <solid android:color="@color/transparente" />
        </shape>
    </item>

</selector>

并使颜色透明

<color name="transparente">#00000000</color>

但是当点击列表项目的背景变成蓝色时如何默认,我不知道什么是错的,我尝试将样式也放在ListView但不起作用,请有人现在有什么问题?如果可能的风格,不要白色代码..但如果不存在的风格可以通过代码,非常感谢,这是一个大问题,只缺少我发布我的应用程序,非常感谢。

3 个答案:

答案 0 :(得分:3)

这对我有用:

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

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

答案 1 :(得分:2)

将此属性添加到ListView(而不是TextView,ListView):

android:listSelector="@android:color/transparent"

答案 2 :(得分:0)

overallduka您为列表创建了透明的单行,但列表本身必须设置为透明。 我相信这会有所帮助。它对我有用

 <ListView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"  
        android:background="#00000000"
        android:cacheColorHint="#00000000" 
        android:drawSelectorOnTop="false" >
    </ListView>