android中的矢量圖,一個(gè)矢量圖中的各個(gè)屬性是什么意義(只關(guān)注重要的屬性)
<vector xmlns:android="http://schemas.android.com/apk/res/android" //命名空間
android:height="200dp" //這個(gè)是圖片的intrinsic高度
android:width="200dp" //這個(gè)是圖片的intrinsic寬度
android:viewportHeight="100" //這個(gè)是為這個(gè)圖片設(shè)置的縱坐標(biāo),表示將圖片分為100等份,主要下面的pathData需要依賴這個(gè)坐標(biāo)的劃分
android:viewportWidth="100" //同上,只不過(guò)這個(gè)是橫坐標(biāo),這兩個(gè)值可以隨便定
android:alpha="0.2" //這個(gè)是整個(gè)圖像的透明度,取值范圍0到1
>
<group //這個(gè)標(biāo)簽中可以放入若干個(gè)<path/>標(biāo)簽,并給它們?cè)O(shè)置一些共同的屬性
android:name="group_name" //這個(gè)name很有用,在設(shè)置objectAnimator的時(shí)候用來(lái)區(qū)分給那個(gè)部分施加動(dòng)畫
android:pivotY="50" //這個(gè)設(shè)置這個(gè)group的中心點(diǎn)的X坐標(biāo),取值范圍為0到100,在做rotation時(shí)有用
android:pivotX="50" //這個(gè)設(shè)置這個(gè)group的中心點(diǎn)的Y坐標(biāo),取值范圍為0到100,在做rotation時(shí)有用
android:translateX="20" //將整個(gè)group在X軸方向平移多少像素
android:translateY="30" //將整個(gè)group在Y軸方向平移多少像素
android:rotation="90" //將整個(gè)group以中心點(diǎn)左邊旋轉(zhuǎn)的角度,360為一圈
android:scaleX="0.5" //橫坐標(biāo)的縮放比例 , 取值1表示100%
android:scaleY="0.3"> //縱坐標(biāo)的縮放比例,取值0.5表示50%,取值1.5表示150%
<path //這個(gè)標(biāo)簽是重頭戲,矢量圖繪制的路徑
android:name="path_name" //為這個(gè)path標(biāo)記的名字,在使用objectAnimator的時(shí)候用來(lái)區(qū)分給哪個(gè)部分施加動(dòng)畫
android:pathData="m 0,0 L50,0 L100,100 L0,100 z" //這個(gè)具體語(yǔ)法,在網(wǎng)上隨便搜搜就有了,就是SVG的語(yǔ)法,如果這個(gè)都不明白,那么你肯定不明白什么是矢量圖,找點(diǎn)資料再看看吧,這篇文章不適合你
android:fillColor="@color/red" //圖形內(nèi)部的夜色
android:fillAlpha="1" //圖形的透明度取值范圍0到1
android:strokeAlpha="0.5" //線條的透明度,取值范圍0到1
android:strokeColor="#ff0000ff" //線條的顏色
android:strokeLineCap="butt|round|square" //線的末端形狀,butt嚴(yán)格到指定的坐標(biāo)就截至,round圓角的先端邊緣,square方形的邊緣不過(guò)有點(diǎn)向外延伸
android:strokeLineJoin="round|bevel|miter" //線的連接處形狀,round是圓角的,bevel和miter貌似看不出來(lái)有什么區(qū)別....
android:strokeWidth="20" //線段的寬度
android:trimPathStart="0.5" //顧名思義,從path開(kāi)始的地方(0%)去除path,去除到指定的百分比位置,取值范圍0到1
android:trimPathEnd="0.5" //顧名思義,從path結(jié)束的地方(100%的地方)去除path,去除到指定的百分比位置,取值范圍0到1
android:trimPathOffset="0.5" //這個(gè)屬性是和上面兩個(gè)屬性共同使用的,單獨(dú)使用沒(méi)有用,這個(gè)屬性的意思是,在去除path的時(shí)候設(shè)置path原點(diǎn)的位置,按百分比設(shè)置,取值范圍0到1
/>
</group>
</vector>
配圖
鑒于
android:trimPathStart
android:trimPathEnd
android:trimPathOffset
三個(gè)屬性比較難懂,特地配了三個(gè)圖片來(lái)表示下
android:trimPathStart="0.1"
此圖表示從path的0%開(kāi)始去除掉0%位置到10%位置的path
android:trimPathStart="0.1"
android:trimPathOffset="0.5"
此圖表示,先把path的原點(diǎn)移動(dòng)到50%的位置,再以此為原點(diǎn)去除掉0%位置到10%位置的path
android:trimPathEnd="0.9"
android:trimPathOffset="0.5"
此圖表示,先把path的原點(diǎn)移動(dòng)到50%的位置,再以此為原點(diǎn)去除掉90%位置到100%位置的path