在Android 开发中有时候某些切图是UI并没有全部给你,这时候就需要我们伟大的程序员自己用XML画一个,下面简要介绍一下XML中的shape用法吧,有了它,可以完成很多很惊喜的图片。

shape有四种类型:

1.rectangle 矩形,默认为矩形

2.oval 椭圆

3.line 线

4.ring 圆环

放图可能比较好理解

shape 做圆角矩形还有方角存在 android shape画矩形对应的属性是_微信公众号


首先,请在AS下的res的drawable文件下面新建资源shape资源文件。

shape的几种常见的属性

1.size:大小

2.corners:这种是用来设置圆角矩形的,也就是矩形四个角的的1/4圆的半径,可直接设置radius,四角同一个半径,也可以分别设置左上右下的半径。

3.stroke:用来设置边框的,width,color很好理解,dashwidth是设置虚线的宽度,dashgap设置虚线的间距的。

4.gradient:用来设置颜色渐变的属性,startcolor,centercolor,endcolor,也就很好理解了,type是设置渐变的类型,有linear(线性),sweep(扫瞄状),radial(放射状),这个很好理解,可以写一个XML试试效果就能区分了。angle是渐变的角度,只能是45的倍数,否则没有效果,不设置就是从左往右,设置90就是从上往下,180就是从右往左。

5.soild :用来设置图片的颜色的。仅能设置单一的颜色

以上主要是以rectangle 说明的事例。

再来两张oval和ring的事例图,你一定能够清晰的理解各种属性和用法。

shape 做圆角矩形还有方角存在 android shape画矩形对应的属性是_微信公众号_02


shape 做圆角矩形还有方角存在 android shape画矩形对应的属性是_圆角矩形_03

oval:为椭圆,当你设置宽高一致也就是圆了。

ring:为圆环,可以直接设置内圆半径innerRadius,然后设置圆环部分的厚度thickness,就可以设置一个圆环了。

line:一条线,很少用,不能设置渐变效果。

以上就是shape的常见属性和用法,这里并没有把很多概念的细节表述曲终,概念再清楚也不如实践清楚,上面的属性并不是所有的都适用于shape的四种类型,如stroke显然不适用于line了,那不然还能成为线?所以还需要实践一遍更容易理解。