我必须制作一个列表视图,在单击时提供光学反馈。Listitem 是以下 xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="30dp"
android:background="@color/white"
>
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:paddingTop="3dp"
android:paddingLeft="3dp"
android:src="@drawable/test_grey" />
<TextView
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="60dip"
android:layout_toRightOf="@id/icon"
android:ellipsize="marquee"
android:singleLine="true"
android:paddingTop="3dp"
android:paddingLeft="3dp"
android:textColor="@color/FirstLevelText"
android:text="Test"
android:textSize="22sp" />
</RelativeLayout>
ListView 由适配器处理...问题是我还应该更改 ImageView 中的图标和 TextView 中文本的颜色,RelativeLayout 的背景也应该从黑色更改为白色(按下时)并从白色到黑色(当状态“按下”结束时)。如何以编程方式做到这一点?我知道更改背景的“正常”方式是使用 xml-selector:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/list_selected" android:state_pressed="true" />
<item android:drawable="@android:color/white" />
</selector>
但是如何用 TextView 和 imageView 来处理呢?