美文网首页
Android关于shape的gradient属性详解

Android关于shape的gradient属性详解

作者: Topone | 来源:发表于2021-01-11 19:12 被阅读0次

    首先文档介绍:

    <gradient
    android:angle="integer"  
    android:centerX="integer"
    android:centerY="integer"
    android:centerColor="integer"
    android:endColor="color"
    android:gradientRadius="integer"
    android:startColor="color" 
    android:type=["linear" | "radial" | "sweep"
    android:useLevel=["true" | "false"] />
    

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

    1.png
    xml代码:<gradient 
            android:startColor="#000000"
            android:endColor="#ffffff"
            />
    
    1434635113_7364.png

    angle=270,从上到下 :

    xml代码:<gradient 
            android:startColor="#000000"
            android:endColor="#ffffff"
            android:angle="270"
            />
    

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


    1434635113_9363.png
    <gradient 
            android:startColor="#000000"
            android:endColor="#ffffff"
            android:centerColor="#ff0000"
            />
    

    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.

    1434635113_1523.png
    xml代码:  <gradient 
            android:startColor="#ff0000"
            android:endColor="#ffffff"
            android:centerX="0.5"
            android:centerY="0.5"
            android:gradientRadius="30"
            android:type="radial"
            />
    

    加入android:centerColor属性

    1434635114_6633.png
    <gradient 
            android:startColor="#ff0000"
            android:endColor="#ffffff"
            android:centerColor="#000000"
            android:centerX="0.5"
            android:centerY="0.5"
            android:gradientRadius="30"
            android:type="radial"
            />
    

    android:type

    Value Description
    "linear" 线性渐变.可以理解为 y=kx+b.
    "radial" A radial gradient.圆形渐变,起始颜色从cenralX,centralY点开始。
    "sweep" A sweeping line gradient.

    centerX="0.2" centerX="0.2"

    1434635134_3430.png
    xml代码:      <gradient 
            android:startColor="#ff0000"
            android:endColor="#ffffff"
            android:centerX="0.2"
            android:centerX="0.2"
            android:gradientRadius="30"
            android:type="radial"
            />  type="sweep":  
    
    1434635134_2747.png
    xml代码:
    
     <gradient 
            android:startColor="#ff0000"
            android:endColor="#ffffff"
            android:centerX="0.5"
            android:centerY="0.5"
            android:type="sweep"
            />
    

    相关文章

      网友评论

          本文标题:Android关于shape的gradient属性详解

          本文链接:https://www.haomeiwen.com/subject/tmadaktx.html