本文共 1727 字,大约阅读时间需要 5 分钟。
本文为博主原创文章,转载请注明出处:
android: shape
有4个选项,rectangle(矩形)oval(椭圆)line(横线)ring(圆环),默认为rectangle,需要注意line和ring需要通过标签来指定线的宽度和颜色等信息,否则无法达到预期效果
针对ring这个形状有5个特殊属性
Value | Desciption |
---|---|
android:innerRadius | 圆环的内半径,和android:innerRadiusRatio同时存在时,以android:innerRadius为准 |
android:thickness | 圆环厚度,即外半径减去内半径的大小,和android:thicknessRatio同时存在时,以android:thickness |
android:innerRadiusRatio | 内半径占整个Drawable宽度的比例,默认为9,如果为n,那么内半径 = 宽度/n |
android:thicknessRatio | 厚度占整个Drawable宽度的比例,默认为3,如果为n,那么厚度 = 宽度/n |
android:useLevel | 一般都应该使用false,否则有可能无法达到预期的显示效果,除非它被当作LevelListDrawable来使用 |
需要注意:如果android:dashWidth和ndroid:dashGap有任何一个为0,那么虚线效果将不能生效
< corners>
它只适用于矩形shape,表示矩形四个角的圆角程度,用px来表示,它有5个属性:
< solid>
表示纯色填充,通过android:color即可指定shape中填充的颜色
< gradient>
它与标签是相互排斥的,其中solid表示纯色填充,而gradient表示渐变效果。它有如下几个属性:
android:centerX——渐变的中心点横坐标
android:centerY——渐变的中心点纵坐标 android: startColor——渐变的起始颜色 android:centerColor——渐变的中间颜色 android:endColor——渐变的结束颜色 android:gradientRadiu——渐变半径,仅当android:type=”radial”时有效 android:useLevel——一般为false,当Drawable作为StateListDrawable使用时为false android:type——渐变的类别,有linear(线性渐变)、radial(径向渐变)、sweep(扫描线渐变)三种,默认值为linear android:angle——渐变的角度,默认为0,其值必须是45的倍数,0表示从左到右,90表示从下到上。具体对应的位置如下图所示- < padding>
表示内边距,即包含它的View的空白。有如下四个属性:
android:bottom
指shape的大小,一般不会用到。
xml代码如下: