Ale*_*vić 5 svg android vector-graphics
我创建了一个SVG矢量图形(使用CorelDraw X7),如下所示:

然后我使用svg2android将其转换为VectorDrawable格式.但是,当我尝试在布局中使用它时,它不会出现:

正如你所看到的,旁边还有另一个矢量可绘制,工作正常(因此svg2android和Android Studio工作正常).
这是实际drawable的xml:
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000000"
android:pathData="M 1382,680 c 107,0 194,112 194,251 0,138 -87,250 -194,250 -2,0 -3,0 -5,0 -17,98
-85,219 -230,219 l 0,77 c 0,28 235,1 235,45 l 0,55 -556,0 0,-55 c 0,-59 235,-11
235,-45 l 0,-77 c -125,0 -211,-106 -230,-219 -1,0 -3,0 -5,0 -107,0 -195,-112
-195,-250 0,-139 88,-251 195,-251 l 0,0 0,-48 556,0 0,48 z m -555,413 -1,-325 c
0,0 0,0 0,0 -70,0 -126,73 -126,163 0,89 56,162 126,162 0,0 1,0 1,0 z m 555,-325
0,325 c 70,0 126,-73 126,-162 0,-90 -56,-163 -126,-163 z" />
</vector>
Run Code Online (Sandbox Code Playgroud)
我注意到这个文件的代码和其他工作文件的代码之间唯一不同的是,与工作文件相比,这个文件中的某些值显示为负数,它们都是正数.
我究竟做错了什么?
Pau*_*eau 11
在您的路径中的点的坐标是方式太大viewportWidth而viewportHeight被指定.
路径边界框是:
x: 631
y: 632
width: 945
height: 945
Run Code Online (Sandbox Code Playgroud)
但是您的视口设置基本上告诉Android它是:
x: 0
y: 0
width: 24
height: 24
Run Code Online (Sandbox Code Playgroud)
因此,形状将从图标区域的边缘拉出.
有多种方法可以手动修复它,但最好调整CorelDraw文件,使图形位于页面的左上角.然后确保保存的SVG有一个viewBox.它是viewBox,svg2android将用于计算viewportWidth和viewportHeight.
如果你不能让CorelDraw生成一个viewBox,那么在一个固定大小的页面上设计你的图标(例如100px x 100px).然后,您应该能够通过手动添加viewBox来获得有效的SVG.
<svg ... viewBox="0 0 100 100" ...>
Run Code Online (Sandbox Code Playgroud)
注意:我在这里做了一些有根据的猜测,因为我没有使用CorelDraw进行测试.
在此期间,这是一个我认为应该工作的文件的手动调整版本(我没有测试过):
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="945"
android:viewportHeight="945">
<group android:translateX="-631" android:translateY="-632">
<path
android:fillColor="#000000"
android:pathData="M 1382,680 c 107,0 194,112 194,251 0,138 -87,250 -194,250 -2,0 -3,0 -5,0 -17,98
-85,219 -230,219 l 0,77 c 0,28 235,1 235,45 l 0,55 -556,0 0,-55 c 0,-59 235,-11
235,-45 l 0,-77 c -125,0 -211,-106 -230,-219 -1,0 -3,0 -5,0 -107,0 -195,-112
-195,-250 0,-139 88,-251 195,-251 l 0,0 0,-48 556,0 0,48 z m -555,413 -1,-325 c
0,0 0,0 0,0 -70,0 -126,73 -126,163 0,89 56,162 126,162 0,0 1,0 1,0 z m 555,-325
0,325 c 70,0 126,-73 126,-162 0,-90 -56,-163 -126,-163 z" />
</group>
</vector>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3340 次 |
| 最近记录: |