主要的实现思路是利用两个布局进行叠加,底下的那个布局颜色进行渐变。结果就是显示的效果不如CardView好。
下面将代码贴出来,仅供参考:
资源文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#ffffffff</color>
<color name="green">#dbd9d8</color>
<color name="black_1">#ff000000</color>
<color name="black_2">#00000000</color>
</resources>
将下面的存在drawable文件下,将其作为背景:
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="1dp">
<shape>
<!-- <solid android:color="@color/black" /> -->
<corners android:radius="@dimen/user_gender_corners" />
<padding
android:bottom="1.5px"
android:left="1.5px"
android:right="1.5px"
android:top="1.5px" />
<gradient
android:startColor="@color/listitem_black"
android:endColor="@color/feed_card_t2_endcolor"
android:angle="270"/>
</shape>
</item>
<item android:bottom="6dp">
<shape>
<!-- <solid android:color="@color/white" /> -->
<corners android:radius="@dimen/user_gender_corners" />
<padding
android:bottom="1.5px"
android:left="1.5px"
android:right="1.5px"
android:top="1.5px" />
<gradient
android:startColor="@color/white"
android:endColor="@color/white"
android:angle="270"/>
</shape>
</item>
</layer-list>
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="1dp">
<shape>
<!-- <solid android:color="@color/black" /> -->
<corners android:radius="@dimen/user_gender_corners" />
<padding
android:bottom="1.5px"
android:left="1.5px"
android:right="1.5px"
android:top="1.5px" />
<gradient
android:startColor="@color/listitem_black"
android:endColor="@color/feed_card_t2_endcolor"
android:angle="270"/>
</shape>
</item>
<item android:bottom="6dp">
<shape>
<!-- <solid android:color="@color/white" /> -->
<corners android:radius="@dimen/user_gender_corners" />
<padding
android:bottom="1.5px"
android:left="1.5px"
android:right="1.5px"
android:top="1.5px" />
<gradient
android:startColor="@color/white"
android:endColor="@color/white"
android:angle="270"/>
</shape>
</item>
</layer-list>