设置背景时,经常这样 android:background=“@drawable/xxx” 。如果是纯色图片,可以考虑用 shape 替代。
shape 相比图片,减少资源占用,缩减APK体积。
开始使用。
使用 shape ,可以实现 矩形、椭圆、直线、圆环。
使用方法:
默认直角矩形
用 corners 设置圆角,圆角的幅度由 android:radius 控制。
用 stroke 描边,默认边缘时曲线,添加了 android:dashWidth 、android:dashGap 就是虚线。
用 gradient 设置渐变色,
几种矩形效果对比,

学会了矩形,其他的也就会了。
线性渐变,
放射渐变,在 线性渐变 基础上把 android:type 改为 radial ,同时设置 android:gradientRadius ,它决定内圆的大小。
扫描式渐变,在 线性渐变 基础上把 android:type 改为 sweep 。
linear 、radial 、sweep ,三种渐变色的对比,

直线
虚线,虚线就是直线加上描边效果。
对比,

android:shape=“ring” ,
本例 View 限定宽高都为 100 dp ,这两种写法,圆环大小是一样的。
写法1 ,
写法2 ,
写法 2 , gradient 中设置 android:angle=“90” ,看下和 0 的对比
三种效果对比,

就是把前面的几个背景结合使用,
根节点是 layer-list ,它的每个 item 里实现 shape 效果。
-
-
-
效果,
