代码之家  ›  专栏  ›  技术社区  ›  Soon Santos

如何在styles.xml中设置矢量绘图

  •  0
  • Soon Santos  · 技术社区  · 6 年前

    我在图像按钮中设置图标,如下所示:

    <ImageButton
            style="@style/LeafPlayerMediaButton.Like"
            ... />
    

    <style name="LeafPlayerMediaButton.Like">
            <item name="android:src">@drawable/ic_app_heart_border</item>
            <item name="android:contentDescription">@string/action_like</item>
        </style>
    

    @drawable/ic_app_heart_border 是PNG文件。不过,现在我升级到矢量绘图。我知道如果我在ImageView中设置一个向量,我应该使用 app:srcCompat=@drawable/ic_app_heart_border

    使用矢量绘图时,如果我使用:

        <item name="android:src">@drawable/ic_app_heart_border</item>
    

    如果我使用:

        <item name="app:srcCompat">@drawable/ic_app_heart_border</item>
    

    应用程序甚至都不会这么说 app:srcCompat 无效。我该怎么办?

    1 回复  |  直到 6 年前
        1
  •  4
  •   Moonbloom    6 年前

    删除styles.xml项的“app:”部分。

    <item name="srcCompat">@drawable/ic_app_heart_border</item>
    

    任何具有自定义名称空间的项(除“android”和“tools”之外的任何项)在放入样式时都应该删除其名称空间。