像 Play Store 一样的列表项背景

List item background like Play Store

我特别要求 ListView 中项目的背景与 Play 商店中列出的背景项目相同。像这样:

到目前为止,我尝试了这个可绘制对象:

@android:drawable/alert_light_frame
@android:drawable/dialog_holo_light_frame
@drawable/abc_menu_dropdown_panel_holo_light

这个图层列表:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
    <shape android:shape="rectangle">
         <solid android:color="#99D3D3D3"/>
         <corners android:radius="3dp" />
    </shape>
</item>

<item
    android:left="1.1dp"
    android:right="1.1dp"
    android:top="0.8dp"
    android:bottom="2dp">
    <shape android:shape="rectangle">
       <solid android:color="#fafafa"/>
       <corners android:radius="2dp" />
    </shape>
</item>

它们与我需要的相似,但不完全相同。最接近的是层列表,但没有形状阴影的模糊效果。

编辑

最佳使用方式CardView

示例 how to use CardView


你可以用这个。这可能对你有帮助

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- Drop Shadow Stack -->
    <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
            <solid android:color="#00CCCCCC" />
        </shape>
    </item>
    <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
            <solid android:color="#10CCCCCC" />
        </shape>
    </item>
    <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
            <solid android:color="#20CCCCCC" />
        </shape>
    </item>
    <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
            <solid android:color="#30CCCCCC" />
        </shape>
    </item>
    <item>
        <shape>
            <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
            <solid android:color="#50CCCCCC" />
        </shape>
    </item>

    <!-- Background -->
    <item>
        <shape>
            <solid android:color="@color/white" />
            <corners android:radius="3dp" />
        </shape>
    </item>
</layer-list>

正确的做法是使用具有阴影和圆形默认行为的卡片 corners.Play 商店正在使用带有 RecyclerView 的卡片。以下是非常有用的链接: https://developer.android.com/training/material/lists-cards.html http://code.tutsplus.com/tutorials/getting-started-with-recyclerview-and-cardview-on-android--cms-23465