我所做的就是更改背景的颜色,单击列表项时我无法再获得效果。我需要改变什么? 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>
我想要做的就是看下面的内容,但带点击列表项时颜色的变化:
更新:
<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>
答案 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>