簡體   English   中英

如何在Android中為自適應圖標設置VectorDrawable的格式/大小

[英]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的人,因此我不確定還有其他因素可能導致此問題。 還有另一個類似的問題,但是抵消作用的原因沒有得到解決。

為了最小化我的應用程序大小,我嘗試對通知和圖標使用相同的向量,並遇到了完全相同的問題。

我嘗試了“向導”:

  • 右鍵單擊res文件夾,然后單擊“新建”>“圖像資產”

然后,這使我可以在背景矢量的頂部縮放我的矢量, 但是居中

查看為圖標生成的矢量文件,它將我的矢量路徑嵌套在帶有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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM