Android中xml中shape的属性助记

对于shape的一些属性老是忘记,每次都要去查找,为了方便我就自己记录下来,方便以后忘记了再查看这些属性。

在shape中有几个属性rectangle、oval、line、ring
1.环形ring
    在shape标签中把shape属性设置为ring类型
    然后在shape标签中设置以下属性(这些属性只能在shape值为ring是使用)
    android:innerRadius       内环的半径,尺寸单位是dp(不设置这个参数,会有个默认值)
    android:thickness           环的宽度,尺寸单位是dp(一定要设置的参数)
    android:useLevel            boolean值,如果当做是LevelListDrawable使用时值为true,否则为false. (这条属性一定要设置,不然看不见效果,暂时先设置为false)
    
    android:innerRadiusRatio    浮点型,以环的宽度比率来表示内环的半径。默认是9,就是环的宽度乘以9再除以2就是内环半径的长度
    android:thicknessRatio      浮点型,以环的宽度比率来表示环的厚度。
    
2.椭圆oval
    可以通过子标签size设置椭圆大小,当宽和高相等时就是圆。一般也不再子标签size中设置宽高,而是设置控件的宽高。
    
3.矩形rectangle
    可以通过子标签size标签设置矩形大小,当宽和高相等时就是正方形。一般也不再子标签size中设置宽高,而是设置控件的宽高。
    在shape没有指定时,默认就是矩形
    
4.直线line
    可以画一条直线,也可以画一条虚线    

在shape的子标签中有gradient、corners、padding、size、solid、stroke
1.描形状的线stroke
    android:width="dimension"   线的粗细
    android:color="color"            线的颜色
    // 以下两个属性是设置虚线时使用,实线不设置这两个属性
    android:dashWidth="dimension"       每节虚线的长度
    android:dashGap="dimension"          每节虚线直接的间隙宽度
 
  注:在画ring,line时这个属性必须设置,在画oval,rectangle时需要描边就设置,不需要就不设置

2.填充颜色solid
    android:color="color"   需要填充形状内部颜色时使用这个属性
    
    注:在画line时不要设置这个属性,在画ring,oval,rectangle是需要实心就设置,需要空心就不设置
    
3.设置图片大小size
    android:width="dimension"          设置宽度
    android:height="dimension"         设置高度
    
    注:在画oval时宽高相等就是圆形,在画rectangle是宽高相等就是正方形,不过一般不在这里设置,基本在控件设置宽高

4.内边距padding
    android:left="dimension"      设置左内边距
    android:top="dimension"            设置上内边距
    android:right="dimension"        设置右内边距
    android:bottom="dimension"        设置下内边距

    注:一般不用设置这个属性

5.圆角corners
    android:radius="dimension"            全部的圆角半径
    //上面全部都圆角,和下面四个属性不共存,要么全部都圆角,要么根据下面属性给每个角设置
    android:topLeftRadius="dimension"     左上角的圆角半径    
    android:topRightRadius="dimension"    右上角的圆角半径    
    android:bottomLeftRadius="dimension"  左下角的圆角半径    
    android:bottomRightRadius="dimension" 右下角的圆角半径

    注:圆角一般是在rectangle情况下使用

6.渐变色gradient
   android:type=["linear" | "radial" | "sweep"]    共有3中渐变类型,线性渐变(默认)/放射渐变/扫描式渐变
  android:startColor="color"       渐变开始点的颜色    
  android:centerColor="color"      渐变中间点的颜色,在开始与结束点之间    
  android:endColor="color"         渐变结束点的颜色
  android:angle="integer"              渐变角度,必须为45的倍数,0为从左到右,90为从上到下
  android:gradientRadius="float"   渐变的半径,只有当渐变类型为radial时才能使用
  android:centerX="float"          渐变中心X的相当位置,范围为0~1,从左到右,默认0.5
  android:centerY="float"          渐变中心Y的相当位置,范围为0~1,从上到下,默认0.5
  android:useLevel="boolean"       使用LevelListDrawable时就要设置为true。设为false时才有渐变效果

    注:当类型type为linear时,angle属性才有效;当类型type为radial时,gradientRadius属性必须设置;当类型type为sweep时,centerX和centerY属性才有效。

你可能感兴趣的:(android,xml,shape)