Android关于shape的gradient属性详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android关于shape的gradient属性详解相关的知识,希望对你有一定的参考价值。

参考技术A

<gradient>
shape的颜色渐变属性
attributes:
Integer, 代表渐变颜色的角度, 0 is left to right, 90 is bottom to top. 必须是45的整数倍.
默认是 0.该属性只有在type=linear情况下起作用,默认的type为linear。
默认情况下,从左到右:

angle=270,从上到下 :

android:startColor
Color. 颜色渐变的开始颜色,如angle=270中的 android:startColor="#000000"
android:endColor
Color. 颜色渐变的结束颜色,如angle=270中的 android:endColor="#ffffff"
android:centerColor
Color. 颜色渐变的中间颜色,主要用于多彩。

android:centerX
Float.(0 - 1.0) 相对X的渐变位置。
android:centerY
Float.(0 - 1.0) 相对Y的渐变位置。
这两个属性只有在type不为linear情况下起作用。
android:gradientRadius
Float. 渐变颜色的半径,单位应该是像素点. 需要 android:type="radial".
如果android:type="radial",没有设置android:gradientRadius,将会报错,error inflating class.

加入android:centerColor属性

android:type

centerX="0.2" centerX="0.2"

关于drawable中的shape标签

corners、gradient、padding、size、solid、stroke

一、corners:

<corners    //定义圆角  
    android:radius="dimension"      //全部的圆角半径  
    android:topLeftRadius="dimension"   //左上角的圆角半径  
    android:topRightRadius="dimension"  //右上角的圆角半径  
    android:bottomLeftRadius="dimension"    //左下角的圆角半径  
    android:bottomRightRadius="dimension" />    //右下角的圆角半径  

     Corners标签是用来字义圆角的,其中radius与其它四个并不能共同使用。

  android:radius:定义四个角的的圆角半径

二、solid:

  用来指定内部填充颜色

  <solid  android:color="color" />

三、gradient

  gradient用以定义渐变色,可以定义两色渐变和三色渐变,及渐变样式

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

四、stroke

  描边属性

<stroke       
    android:width="dimension"   //描边的宽度  
    android:color="color"   //描边的颜色  
    // 以下两个属性设置虚线  
    android:dashWidth="dimension"   //虚线的宽度,值为0时是实线  
    android:dashGap="dimension" />      //虚线的间隔 

五、padding、size

  定义内部的边距和图片的大小




以上是关于Android关于shape的gradient属性详解的主要内容,如果未能解决你的问题,请参考以下文章

Android背景渐变色(shape,gradient)

Android背景渐变色(shape,gradient)

Android:res之shape制作圆角虚线渐变

Android 颜色渐变(gradient)的实现总结

Android背景色内部渐变

Android背景色内部渐变