编辑的矢量Drawable没有显示在应用程序中

时间:2016-11-03 18:31:44

标签: android svg vector-graphics inkscape

我已经取出this icon SVG并且我已经在Inkscape中对其进行了编辑,以使双勾图标看起来像WhatsApp。

所以,稍后在Android Studio中我放了原始矢量drawable图标:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:height="24dp"
    android:width="24dp"
    android:viewportWidth="24"
    android:viewportHeight="24">
    <path android:fillColor="#000" android:pathData="M0.41,13.41L6,19L7.41,17.58L1.83,12M22.24,5.58L11.66,16.17L7.5,12L6.07,13.41L11.66,19L23.66,7M18,7L16.59,5.58L10.24,11.93L11.66,13.34L18,7Z" />
</vector>

然后我用在Inkscape中编辑的SVG路径替换了pathData:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24.0"
    android:viewportHeight="24.0">
    <path
        android:fillColor="#000"
        android:pathData="M 0.41,13.41 6,19 7.41,17.58 1.83,12 M 22.24,5.58 11.66,16.2 11,15.5 9.5,17 11.66,19 23.66,7 M 18,7 16.5,5.5 4.5, 17.5 6,19 Z"/>
</vector>

我可以在Android Studio预览中看到新图标,但是当我运行该应用时,它不显示。普通图标确实显示正常,但这个图标不会显示。

这是一种我无法理解的怪异行为,我对矢量图形很陌生。

为什么?

1 个答案:

答案 0 :(得分:1)

我自己找到了答案。查看原始图标语法,似乎应该使用L字母给出空格。

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24.0"
    android:viewportHeight="24.0">
    <path android:fillColor="#8A000000" android:pathData="M0.41,13.41L6,19L7.41,17.58L1.83,12M22.24,5.58L11.66,16.2L11,15.5L9.5,17L11.66,19L23.66,7M18,7L16.5,5.5L4.5,17.5L6,19Z"/>
</vector>

现在它有效。有趣的是,我对矢量drawable一无所知,仍然找到了解决方案。