我更改背景颜色后,我的ListView丢失了它的行为?

时间:2014-01-22 12:39:46

标签: android listview

我所做的就是更改背景的颜色,单击列表项时我无法再获得效果。我需要改变什么? XML如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:background="#FFFFFF">

    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:scaleType="centerCrop" 
        android:layout_margin="10dp" 
        android:src="@drawable/file" />

    <EditText
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/image"
        android:layout_marginTop="30dp"
        android:layout_toRightOf="@+id/image"
        android:background="@null"
        android:includeFontPadding="true"
        android:textColor="#000000" />


</RelativeLayout>  

我想要做的就是看下面的内容,但点击列表项时颜色的变化:
enter image description here

更新:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <ListView android:id="@+id/list" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:background="#FFFAF0"
        android:dividerHeight="1dp"
        android:layout_margin="0dp"
        android:divider="#808080"/>

</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

嗯,我是什么:
而不是使用固定颜色作为自定义项目的背景,例如

android:background="#FFFFFF">

我使用stelist drawable,如:

android:background="@drawable/item_states">

当然,你需要在你的drawable文件夹中使用一个新的xml,称之为(在示例中我称之为item_states)

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"
        android:color="#ffff0000"/> <!-- pressed -->
    <item android:state_focused="true"
        android:color="#ff0000ff"/> <!-- focused -->
    <item android:color="#ff000000"/> <!-- default -->
</selector>