android:fillType="evenOdd"
让Android 21上的vectror drawable打破了,无论如何我们可以修复这个向量吗?
我还反编译了release.apk并发现他们删除android:fillType="evenOdd"
甚至在debug.apk上它已经
android:fillType="evenOdd"
但仍在应用
答案 0 :(得分:1)
解决方案1
Sketch中的Flattern图片并使用this site将SVG转换为适用于Android的xml
解决方案2
我使用nonZero而不是evenOdd并在Sketch中打开它以反转Order后反转它将更改pathData并删除android:fillType并且一切正常在Android 21 +上运行。
解决方案3
PNG
TLDR
经过一些研究后我发现有两种填充规则属性方法用于矢量图形,SVG,“偶数”与“非零”
我在Sketch中打开了SVG图标并检查了图标顶部的孔。正如预期的那样,它使用fill-rule:evenodd属性。现在我必须更改fill-rule以使用“nonzero”属性。怎么样?选择路径。在右侧,“填充”属性中有一个设置图标。单击它并选择“非零”。
从主菜单中,选择“图层”→“路径”→“反向顺序”。我在图标的顶部找到了一个洞,并在应用程序中找到了洞。