主要的實現思路是利用兩個佈局進行疊加,底下的那個佈局顏色進行漸變。結果就是顯示的效果不如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>