安卓矢量资源过大

3

我有一个SVG作为我的自适应图标的前景。它的高度和宽度都是128px * 128px。但当我进入drawable> New> Vector Asset并创建XML时,我的viewportWidth比例失调。

我的图标不是嵌套在背景中,而是占据整个页面,甚至遮盖了背景。我尝试使用Inkscape减小SVG的大小,并再次通过drawable> New> Vector Asset发送它,但我的图标仍然巨大,覆盖了一切……但只是一个模糊的斑点。

<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="128dp"
android:height="128dp"
android:viewportWidth="1280"
android:viewportHeight="1280">

请在您的问题中更新 layout.xml 图标。 - Khaled Lela
你可以尝试使用字体来显示图标:https://android.jlelse.eu/font-awesome-a-better-way-to-display-symbols-and-icons-in-android-d694e5ee621f - Access Denied
发布你的 SVG 文件,将其转换为图像是一个不好的建议。重要的是了解如何在你的视图中使用它。 - Access Denied
2个回答

1
drawable>New>Vector Asset 创建矢量图时,请勾选覆盖选项并设置所需的大小。

1
没有起作用。高度和宽度已经达到我所期望的大小(108dp)。但是viewportWidth和viewportHeight仍然是1280。 - ngx311
viewportWidthviewportHeight基本上是你要绘制的画布宽度和高度,而widthheight则定义了矢量图形的默认大小。 - Abu Yousuf
@AbuYousuf 运行得很好,但不幸地对于批量导入不起作用!必须一个一个地导入并调整 300 个图标,就像这样...啊,天才谷歌! - Araz

0

不要使用SVG作为图标。下载最高分辨率的png图标,然后将其添加到您的minmap目录中。它会自动生成所有尺寸的图标。

右键单击minmap - > 图像资源

在那里您可以定位图标


1
干杯。愉快的编码。 - Arahasya
2
不建议这样做,因为它并没有解决问题,而只是提供了一种变通方法。使用矢量可绘制图形而不是位图可以减小您的 APK 大小,因为同一文件可以调整大小以适应不同的屏幕密度,而不会损失图像质量。https://developer.android.com/studio/write/vector-asset-studio - Access Denied
这不是建议的问题。向量更难定位,他尝试使用它们。 - Arahasya
@Arahasya 不是很准确,将向量作为图标使用就像1、2、3一样简单。只是SVG没有正确处理,需要进行一些修改。 - Access Denied
你是指Mipmap吗? - Jono

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接