渐变色
一般情况下,View的背景色都是比较单一的;但是在特殊的需要的时候,需要渐变色背景,就无法实现了,如下图;
用一下代码就可以实现了;
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="13dp" />
<gradient
android:angle="0"
android:centerColor="@color/color_f8771a"
android:endColor="@color/block"
android:startColor="@color/color_ffa2a2"
/>
</shape>
主要的属性:
startColor:开始颜色;
centerColor:中间颜色;
android:centerX="50%" X轴中间位置;
android:centerY="50%" Y轴中间位置;
endColor:结束颜色;
angle:渲染角度
android:angle="0"//效果是:是从左到右,按照开始颜色到结束颜色来渲染的
android:angle="45"//效果是:是从左下角到右上角,按照开始颜色到结束颜色来渲染的
android:angle="90"//效果是:是从下到上,按照开始颜色到结束颜色来渲染的
android:angle="135"//效果是:是从右下角到左上角,按照开始颜色到结束颜色来渲染的
android:angle="180"//效果是:从右往左,按照开始颜色到结束颜色来渲染的
android:angle="225"//效果是:从右上角往左下角,按照开始颜色到结束颜色来渲染的
android:angle="270"//效果是:从上到下,按照开始颜色到结束颜色来渲染的
android:angle="315"//效果是:从左上角到右下角,按照开始颜色到结束颜色来渲染的
Shape的其他属性,正常使用;
只显示单边框
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:left="-5dp"
android:right="-5dp">
<shape>
<solid android:color="@color/white" />
<stroke
android:width="5dp"
android:color="@color/color_f8771a" />
</shape>
</item>
</layer-list>