我必须制作一个列表视图,在点击时提供光学反馈。 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处理它?</ p>