[英]How to format/size VectorDrawable for adaptive icon in android
我正在尝试使用两个VectorDrawables作为背景和前景来为应用创建自适应图标。 但是,从Illustrator中制作的svg创建的前景矢量无法调整大小或正确放置在图标中。
前景矢量,以供将来参考
我根据自适应图标准则中的规范将矢量viewportheight和viewportwidth的大小调整为108dp x 108dp,但这仅导致前景发生偏移。
<vector android:height="108dp" android:viewportHeight="108"
android:viewportWidth="108" android:width="108dp"
xmlns:aapt="http://schemas.android.com/aapt" xmlns:android="http://schemas.android.com/apk/res/android">
...
</vector>
但是,当视口高度和视口宽度设置为较小的值(例如50)时,矢量会显示在正确的位置,但太大。
<vector android:height="108dp" android:viewportHeight="50"
android:viewportWidth="50" android:width="108dp"
xmlns:aapt="http://schemas.android.com/aapt" xmlns:android="http://schemas.android.com/apk/res/android">
...
</vector>
我是刚接触android的人,因此我不确定还有其他因素可能导致此问题。 还有另一个类似的问题,但是抵消作用的原因没有得到解决。
为了最小化我的应用程序大小,我尝试对通知和图标使用相同的向量,并遇到了完全相同的问题。
我尝试了“向导”:
然后,这使我可以在背景矢量的顶部缩放我的矢量, 但是居中 。
查看为图标生成的矢量文件,它将我的矢量路径嵌套在带有translateX和translateY属性的组标记中,如下所示:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="52.173912"
android:viewportHeight="52.173912">
<group android:translateX="14.086957"
android:translateY="14.086957">
<path.../>
</group>
</vector>
如果要避免生成文件,然后在生成的png文件中删除等,请直接在xml中尝试。
这可能对您有用-就我而言,我不能将新图标前景矢量用作通知,因为它太小了。 因此,我似乎需要不同尺寸的可缩放矢量图形的副本!
如果我们可以在自适应图标文件本身中缩放自适应图标的前景/背景部分,那将是理想的-也许有人已经知道该怎么做?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.