如何在styles.xml中设置矢量可绘制对象

时间:2018-09-29 22:09:52

标签: android

我正在像这样在ImageButton中设置图标:

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

styles.xml

<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>

该应用程序因API <21而崩溃。

如果我使用:

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

应用程序甚至没有开始说app:srcCompat无效。我该怎么办?

1 个答案:

答案 0 :(得分:2)

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

就是这样:

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

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