【发布时间】:2017-05-02 12:27:02
【问题描述】:
我有一个 SVG 图像,我想将其包含在 Android 项目中。
该项目的 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?
还有其他解决方案吗?
【问题讨论】:
-
您是否尝试过将 VectorDrawable 移动到名为
drawable-anydpi-v24的文件夹中? -
没有自动方法将依赖于 evenOdd 的文件转换为 nonZero,因为这是视觉上的差异,并且工具不知道它应该是什么样子。任何转换都必须在编辑器中手动完成。
-
@PaulLeBeau 这是个好主意,尽管我担心 android studio 会将其解释为不生成任何东西,因为该资产仅 24+。我会试试看它的作用。
-
这个有什么解决办法吗?
-
您能否展示一个需要
evenOdd的示例 SVG,如果没有它,它看起来会有所不同吗?我认为它在com.android.support:appcompat-v7的更高版本中得到了修复
标签: android svg vector android-vectordrawable