在单击列表视图项目时,行的整个背景颜色更改而不仅仅是边框(使用卡UI布局)

时间:2014-01-30 16:04:11

标签: android android-listview

我正在使用CardUI布局列表视图。当我点击列表视图项时,一切正常工作,该列表视图行的整个背景颜色发生变化,而不仅仅是卡片UI创建的边框区域。

这是我的代码。

Listview项目:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    >
    <RelativeLayout 
    android:layout_marginLeft="10dip"
    android:layout_marginRight="10dip"
    android:layout_width="match_parent"
    android:layout_height="150dp"
    android:padding="6dip"
    android:background="@drawable/list_item_background">
     <ImageView
           ...
           /> 

    <TextView
        ...

        />
     <TextView
        ...
        />

</RelativeLayout>

</LinearLayout>

额外的linearlayout用于创建左/右边距,否则listview会忽略布局参数。

list_item_background

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/background_pressed" android:state_activated="true"/>
   <item android:drawable="@drawable/background_pressed" android:state_checked="true"/>
    <item android:drawable="@drawable/background_pressed" android:state_active="true"/>
    <item android:drawable="@drawable/background_pressed" android:state_selected="true"/>
    <item android:drawable="@drawable/background_pressed" android:state_pressed="true"/>
    <item android:drawable="@drawable/background"/>
</selector>

background_pressed.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle"
            android:dither="true">
            <corners android:radius="2dp"/>
            <solid android:color="#CCC" />
        </shape>
    </item>
    <item android:bottom="2dp">
        <shape android:shape="rectangle"
            android:dither="true">
            <corners android:radius="2dp" />
            <solid android:color="#ff00ddff" />
            <padding android:bottom="6dp"
                android:left="4dp"
                android:right="4dp"
                android:top="4dp" />
        </shape>
    </item>
</layer-list>

我不知道,从这个背景暗蓝色的颜色来了? 任何建议请。

2 个答案:

答案 0 :(得分:3)

您看到的是项目下的列表选择器,ListView中的android:listSelector="@android:color/transparent"设置应该有效。

答案 1 :(得分:0)

尝试将填充设置为ListView而不是项目的边距。