10

我的问题与此有关:link。我最近将我的大部分 Android 资源从不同分辨率的不同 png 文件更改为矢量绘图。我正在使用一个“滑动删除”库,它可以在滑动期间更改其视图的背景,以显示带有垃圾箱图标的 Gmail 风格的红色背景,类似于此(它有一个绿色背景和一个检查图标) :

在此处输入图像描述

我曾经使用以下代码来做到这一点,我仍然为 < API 21

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <color android:color="@color/accent"/>
    </item>
    <item android:right="@dimen/activity_horizontal_margin">
        <bitmap
            android:gravity="right|center_vertical"
            android:src="@drawable/ic_delete_24dp"/>
    </item>
</layer-list>

但是,API 21+ 需要不同的语法

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <color android:color="@color/accent" />
    </item>
    <item android:right="@dimen/activity_horizontal_margin"
          android:drawable="@drawable/ic_delete_24dp"
          android:gravity="right|center_vertical"/>
</layer-list>

现在,API 21 和 API 22 (Lollipop) 上的图标不再是左侧/右侧的图标,而是被拉伸以填充屏幕。有没有办法指定图标的宽度?

4

1 回答 1

0

将此添加到您的应用级别 build.gradle 文件

defaultConfig {
     vectorDrawables.useSupportLibrary = true
}
于 2018-02-23T05:14:46.920 回答