日常开发中,咱们会遇到一些Button、Textview...等控件的背景是圆角矩形、圆形...等,和android默许的控件背景矩形不分歧,此时shape的作用就表现进去了,咱们可能依据shape属性画出很多咱们意想不到的背景图案,下面我会把一切shape的属性都引见一下。
1 shape标签:android:shape:
rectangle: 矩形,默许的状态,可能画出直角矩形、圆角矩形、弧形等
oval: 椭圆形,用得比较多的是画正圆
line: 线形,可能画实线和虚线
ring: 环形,可能画环形进度条
android:tint:给shape着色
android:tintMode:着色形式(无关tint和tintMode请参看文章:)
android:dither:将在位图的像素配置与屏幕不同时(例如:ARGB 8888 位图和 RGB 565 屏幕)启用位图的抖动;值为“false”时则停用抖动。默许值为 true。
android:visible:临时还不清楚控制什么隐藏。
? ?android:useLevel:假设为true,则可在LevelListDrawable中利用。这通常应为“false”,否则状态不会显示。
android:thickness:环的厚度,指内环与外环的环间距。(只实用于shape为ring)
android:thicknessRatio:浮点型,以环的宽度比率来示意环的厚度,默以为9,示意环的厚度为环的宽度除以9,该值会被android:thickness笼罩(只实用于shape为ring)
? ?android:innerRatio:内环半径(只实用于shape为ring)
android:innerRadiusRatio:浮点型,以环的宽度比率来示意内环的半径,默以为3,示意内环半径为环的宽度除以3,该值会被android:innerRadius笼罩(只实用于shape为ring)
?
2 shape下size标签:设置shape宽高值android:height:高度
android:width:宽度
留意事项:只要控件宽高设置成wrap_content时,此处宽高才起作用,然而起到的却是最小宽高值。也就是说,当控件宽高超过你此处指定的值时,它会变化(wrap_content!!!)
3 shape下solid标签:设置状态填充色彩
android:color:指定色值
4 shape下padding标签:设置内容与边界的距离
android:left:左内边距
android:top:上内边距
android:right:右内边距
android:bottom:左内边距
?
5 shape下corners标签:设置四个角的圆角android:radius: 四个角圆角
android:topLeftRadius: 左上角的圆角
android:topRightRadius: ?右上角的圆角
android:bottomLeftRadius: ?左下角的圆角
android:bottomRightRadiusleft:右下角的圆角
留意事项:radius属性值可能被其余四个属性笼罩。
?
6 shape下stroke标签:设置shape的外边界线android:color: ?边界线的色彩
android:width: 边界线的宽度
android:dashWidth: 段虚线的宽度(可能将边界线理解成一段段线无间隔的衔接)
android:dashGap: 段虚线的间隔
?
7 shape下的gradient标签:设置状态渐变android:type:渐变的类型
linear:线性渐变,默许的渐变类型
radial:喷射渐变,设置该项时,必须设置android:gradientRadius渐变半径属性
sweep:扫描性渐变 ? ? ?
android:angle:渐变的角度,线性渐变时(linear也是默许的渐变类型)才有效,必须是45的倍数,0示意从左到右,90示意从下到上