在开发中经常会用到shape标签来定义控件的背景,shape标签总共有四个图形选项,分别是rectangle(矩形),oval(椭圆),line(横线)和ring(圆环)。矩形的大家经常用都很熟悉了,但是定义ring圆环的时候有很多人发现没有效果,怀疑是不是这个标签没有用,其实只要注意两点就可以画出ring的效果了。
1.在shape标签内定义innerRadius,thickness,useLevel这三个属性;
2.通过stroke标签指定宽度和颜色。
效果图如下:
具体xml文件:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring"
android:innerRadius="100dp"
android:thickness="10dp"
android:useLevel="false">
<stroke
android:width="10dp"
android:color="#ad7997"
/>
</shape>
android:innerRadius 指圆环的内半径,和android:innerRadiusRatio同时存在时,以android:innerRadius为准;
android:thickness 指圆环的厚度,即外半径减去内半径的大小,和android:thicknessRatio同时存在时,以android:thickness为准;
android:useLevel 官方文档建议使用false,否则可能无法达到预期显示效果。