【问题标题】:Android Layer-List VectorDrawable sizeAndroid Layer-List VectorDrawable 大小
【发布时间】:2016-02-08 04:40:55
【问题描述】:

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

我曾经使用下面的代码来做,现在我仍然为

<?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) 上的图标不再是左侧/右侧的图标,而是被拉伸以填满屏幕。有没有办法指定图标的宽度?

【问题讨论】:

  • 作为更新,此错误已在 API 23 (Marshmallow) 之后修复,并且仅存在于 Lollipop 上
  • 属性 android:drawable 在 API 19 中导致崩溃,而 app:srcCompatlayer-list 中似乎不起作用。你是怎么处理的?

标签: android background layer-list android-vectordrawable


【解决方案1】:

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

defaultConfig {
     vectorDrawables.useSupportLibrary = true
}

【讨论】:

    猜你喜欢
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多