【发布时间】: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:srcCompat在layer-list中似乎不起作用。你是怎么处理的?
标签: android background layer-list android-vectordrawable