我制作了 Android L 预览图像样式列表项。这是我对这些类似设计的代码。
// 可绘制/list_item_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape
android:shape="rectangle">
<solid android:color="#E6E6E6" />
</shape>
</item>
<item android:bottom="1dp">
<shape
android:shape="rectangle">
<solid android:color="#FAFAFA" />
</shape>
</item>
</layer-list>
//可绘制/list_icon_bg
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/list_grey_bg" />
</shape>
// 布局/list_item
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="72dp">
<ImageView
android:id="@+id/list_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_margin="16dp"
android:src="@drawable/thumb"
android:background="@drawable/list_icon_bg"/>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:background="@drawable/list_item_bg"
android:layout_toRightOf="@+id/list_icon"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true">
<TextView
android:id="@+id/label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/primary_text"
android:paddingRight="16dp"
android:text="Sample Text" />
</LinearLayout>
</RelativeLayout>
但我对列表项选择状态有问题。列表项选定状态的背景颜色仅适用于图标区域。选定状态的列表项背景颜色不适用于 LinearLayout 区域。我该如何解决。