2016-12-16 746 views
4

我有一個SVG圖像,我想將其包含在Android項目中。在Android上使用fillType =「evenOdd」21

該項目的minSdk版本爲9. Android Studio正在爲SVG生成PNG文件。

但是,對於API 21+,Android Studio將SVG包含在drawable-anydpi-v21資源文件夾中。

這意味着任何運行API 21及以上的設備都將使用SVG而不是PNG。我的SVG需要android:fillType="evenOdd"

PNG已正確生成,但對於SVG,由於該屬性爲API 24+,因此在API 21設備上將被忽略,並且圖像顯示爲填充而不是線框圖像。

反正說服Android studio只包含PNG並完全放棄SVG嗎?

有沒有其他解決方案呢?

+0

您是否嘗試過移動你的VectorDrawable到一個文件夾命名爲'繪製-anydpi-V24 '? –

+0

沒有自動化的方式將依賴evenOdd的文件轉換爲非零,因爲這是一種視覺差異,而且工具根本不知道它應該是什麼樣子。任何轉換都必須在編輯器中手動完成。 –

+0

@PaulLeBeau這是一個好主意,但我擔心android studio會將其解釋爲沒有生成任何東西,因爲資產只有24+。我會試着去看看它的功能。 – njzk2

回答

0

您可以將SVG轉換爲XML文件,這將解決您的問題, 這裏是鏈接轉換SVG到XML文件svgToXML

+0

謝謝。我使用Vector Studio中包含的Vector Asset Studio將SVG轉換爲XML。這個轉換器有相同的問題:https://github.com/inloop/svg2android/issues/44,它給了我一個XML與'android:fillType =「evenOdd」' – njzk2

+0

還有其他幾個網站,將SVG轉換爲XML,你嘗試過其中的一些嗎? –

+0

你上傳了你的圖片或鏈接爲svg格式,也許任何人都可以轉換它。 –

相關問題