我使用android studio将.svg文件导入到矢量可绘制文件,然后IDE在Folder:res / drawable中创建了一个xml文件。
我认为android会绘制像Canvas.drawPath这样的可绘制文件。并且 android:pathData 的值几乎就是路径的点。但我不知道价值的含义是什么。
我来宾:
M:moveTo L:lineTo
Android vector中这些字符的含义是什么:
<path
android:fillColor="#FF000000"
android:pathData="M11,9h2L13,6h3L16,4h-3L13,1h-2v3L8,4v2h3v3zM7,
18c-1.1,0 -1.99,0.9 -1.99,2S5.9,22 7,22s2,-0.9 2,-2 -0.9,-2 -2,-2zM17,18c-1.1,
0 -1.99,0.9 -1.99,2s0.89,2 1.99,2 2,-0.9 2,-2 -0.9,-2 -2,
-2zM7.17,14.75l0.03,-0.12 0.9,-1.63h7.45c0.75,0 1.41,-0.41 1.75,-1.03l3.86,
-7.01L19.42,4h-0.01l-1.1,2 -2.76,5L8.53,11l-0.13,-0.27L6.16,6l-0.95,-2 -0.94,
-2L1,2v2h2l3.6,7.59 -1.35,2.45c-0.16,0.28 -0.25,0.61 -0.25,0.96 0,1.1 0.9,
2 2,2h12v-2L7.42,15c-0.13,0 -0.25,-0.11 -0.25,-0.25z"/>
答案 0 :(得分:2)
以下是绘制路径的矢量绘制参数的基本理解:
M or m (X,Y)+
moveto:将光标移动到位置,大写是绝对的,小写是相对的 moveto命令后跟X,Y坐标。 M命令后面可以有多组坐标,这些坐标被视为隐式lineto命令。
Z or z
closepath:从光标的当前位置到路径的起始位置绘制一条线。没有任何参数。
L or l (X,Y)+
lineto:从当前位置到X,Y指定的位置绘制一条线。大写表示绝对坐标,小写表示相对坐标。您可以在lineto命令后面有多组坐标。如果要指定多组坐标,则表示您正在创建折线(由多个字符串线组成的形状)。
H or h (X)+
水平线到从当前光标位置绘制一条水平线到X指定的位置。如果命令后面有多个X坐标,则将其视为折线。 Y坐标保持不变。大写字母H是绝对坐标,小写字母h是相对坐标。
V or v (Y)+
垂直lineto 绘制从当前光标位置到Y指定位置的垂直线。如果命令后面有多个Y坐标,则将其视为折线。 X坐标保持不变。大写字母V是绝对坐标,小写字母v是相对坐标。