像 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
你可以用这个。这可能对你有帮助
<?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
我特别要求 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
你可以用这个。这可能对你有帮助
<?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