shape中gradient属性介绍
转载:http://blog.csdn.net/zjdyhant/article/details/46537647
首先文档介绍:<span style="font-size: 18px;"><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="tag" style="color: rgb(0, 0, 136);"><</span><a target=_blank target="_blank" href="file:///D:/androidsoftware/android-sdk-windows/docs/guide/topics/resources/drawable-resource.html#gradient-element" style="color: rgb(37, 138, 175); text-decoration: none;"><span class="tag" style="color: rgb(0, 0, 136);">gradient</span></a><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="atn" style="color: rgb(136, 34, 136);">android:angle</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="atv" style="color: rgb(136, 0, 0);">"</span><em><span class="atv" style="color: rgb(136, 0, 0);">integer</span></em><span class="atv" style="color: rgb(136, 0, 0);">"</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="atn" style="color: rgb(136, 34, 136);">android:centerX</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="atv" style="color: rgb(136, 0, 0);">"</span><em><span class="atv" style="color: rgb(136, 0, 0);">integer</span></em><span class="atv" style="color: rgb(136, 0, 0);">"</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="atn" style="color: rgb(136, 34, 136);">android:centerY</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="atv" style="color: rgb(136, 0, 0);">"</span><em><span class="atv" style="color: rgb(136, 0, 0);">integer</span></em><span class="atv" style="color: rgb(136, 0, 0);">"</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="atn" style="color: rgb(136, 34, 136);">android:centerColor</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="atv" style="color: rgb(136, 0, 0);">"</span><em><span class="atv" style="color: rgb(136, 0, 0);">integer</span></em><span class="atv" style="color: rgb(136, 0, 0);">"</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="atn" style="color: rgb(136, 34, 136);">android:endColor</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="atv" style="color: rgb(136, 0, 0);">"</span><em><span class="atv" style="color: rgb(136, 0, 0);">color</span></em><span class="atv" style="color: rgb(136, 0, 0);">"</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="atn" style="color: rgb(136, 34, 136);">android:gradientRadius</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="atv" style="color: rgb(136, 0, 0);">"</span><em><span class="atv" style="color: rgb(136, 0, 0);">integer</span></em><span class="atv" style="color: rgb(136, 0, 0);">"</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="atn" style="color: rgb(136, 34, 136);">android:startColor</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="atv" style="color: rgb(136, 0, 0);">"</span><em><span class="atv" style="color: rgb(136, 0, 0);">color</span></em><span class="atv" style="color: rgb(136, 0, 0);">"</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="atn" style="color: rgb(136, 34, 136);">android:type</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="atv" style="color: rgb(136, 0, 0);">["linear"</span><span class="pln" style="color: rgb(0, 0, 0);"> | </span><span class="atv" style="color: rgb(136, 0, 0);">"radial"</span><span class="pln" style="color: rgb(0, 0, 0);"> | </span><span class="atv" style="color: rgb(136, 0, 0);">"sweep"</span><span class="pln" style="color: rgb(0, 0, 0);">] </span><span class="atn" style="color: rgb(136, 34, 136);">android:useLevel</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="atv" style="color: rgb(136, 0, 0);">["true"</span><span class="pln" style="color: rgb(0, 0, 0);"> | </span><span class="atv" style="color: rgb(136, 0, 0);">"false"</span><span class="pln" style="color: rgb(0, 0, 0);">] </span><span class="tag" style="color: rgb(0, 0, 136);">/></span></span>
<gradient>
attributes:
- Integer,代表渐变颜色的角度, 0 is left to right, 90 is bottom to top. 必须是45的整数倍.
-
默认是 0.该属性只有在type=linear情况下起作用,默认的type为linear。
默认情况下,从左到右:
-
xml代码:<gradient
android:startColor="#000000"
android:endColor="#ffffff"
/>
angle=270,从上到下 :
-
xml代码:<gradient
android:startColor="#000000"
android:endColor="#ffffff"
android:angle="270"
/>
- Color. 颜色渐变的开始颜色,如angle=270中的 android:startColor="#000000"
- Color. 颜色渐变的结束颜色,如angle=270中的 android:endColor="#ffffff"
- Color. 颜色渐变的中间颜色,主要用于多彩。
-
-
<gradient
android:startColor="#000000"
android:endColor="#ffffff"
android:centerColor="#ff0000"
/>
- Float.(0 - 1.0) 相对X的渐变位置。
- Float.(0 - 1.0) 相对Y的渐变位置。
- 这两个属性只有在type不为linear情况下起作用。
-
Float. 渐变颜色的半径,单位应该是像素点. 需要
android:type="radial"
.
如果android:type="radial",没有设置android:gradientRadius,将会报错,error inflating class.
-
Value Description "linear"
线性渐变.可以理解为 y=kx+b. "radial"
A radial gradient.圆形渐变,起始颜色从cenralX,centralY点开始。 "sweep"
A sweeping line gradient.
android:angle
android:startColor
android:endColor
android:centerColor
android:centerX
android:centerY
android:gradientRadius
xml代码: <gradient
android:startColor="#ff0000"
android:endColor="#ffffff"
android:centerX="0.5"
android:centerY="0.5"
android:gradientRadius="30"
android:type="radial"
/>
加入Android:centerColor属性
<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
centerX="0.2" centerX="0.2"
xml代码: <gradient
android:startColor="#ff0000"
android:endColor="#ffffff"
android:centerX="0.2"
android:centerX="0.2"
android:gradientRadius="30"
android:type="radial"
/>
type="sweep":
xml代码:
<gradientandroid:startColor="#ff0000"
android:endColor="#ffffff"
android:centerX="0.5"
android:centerY="0.5"
android:type="sweep"
/>