我们在ListView上有一个相对简单的Android项目模板
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:background="@android:drawable/list_selector_background">
<!--Encounter Type and Start-->
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/mid_grey"
android:paddingTop="12dp"
android:paddingRight="24dp"
android:paddingBottom="12dp"
android:paddingLeft="24dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:textStyle="bold"
android:textSize="@dimen/text_size_large"
android:text="Main Item Heading"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="10:45"
android:layout_toLeftOf="@+id/startTimeRelative"
android:textColor="@color/grey1"
android:textSize="@dimen/text_size_large" />
<TextView
android:id="@+id/startTimeRelative"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="12sp"
android:layout_alignParentRight="true"
android:text="Today"
android:textColor="@color/grey1"
android:textSize="@dimen/text_size_large" />
</RelativeLayout>
<!--Patient Name and Avatar-->
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="8dp"
android:paddingRight="24dp"
android:paddingBottom="8dp"
android:paddingLeft="24dp">
<ImageView
android:id="@+id/patientAvatar"
android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="16dp"
android:scaleType="fitXY"
android:src="@drawable/patient_avatar" />
<LinearLayout
android:layout_toRightOf="@+id/patientAvatar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/patientname"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Subsection Heading"
android:textColor="#000000"
android:textSize="@dimen/text_size_large"
android:textStyle="bold"
android:ellipsize="end"
android:maxLines="1" />
</LinearLayout>
</RelativeLayout>
<!--</LinearLayout>-->
</LinearLayout>
显示此布局
我想在按下或选择项目时设置项目的背景。我试图通过将项目的背景设置为自定义项目选择器来实现此目的
android:background="@android:drawable/list_selector_background"
is是选择器xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@color/debug_blue" />
<item android:state_checked="true" android:drawable="@color/debug_green" />
<item android:state_pressed="true" android:drawable="@color/debug_blue" />
</selector>
问题是因为我在项目中设置了视图的背景颜色,而选择器没有按预期显示。我删除了一种内部颜色(用于&#34; Subsection Heading&#34;在屏幕截图中)并将其设置为Listview的颜色。这意味着当在模板的下半部分按下项目时蓝色显示,如此屏幕截图所示
所有Android示例显示项目选择器使用具有一种或没有背景颜色的简单项目布局。
如果未选择儿童视图中的一个或多个背景颜色,如何设置整个项目的背景?
我已经看过在ListView上设置drawSelectorOnTop
但是没有帮助