Мой вопрос связан с этим: link. Недавно я изменил большинство своих ресурсов для Android с разных png-файлов для разных разрешений на векторные чертежи. Я использую "swipe-to-delete" library, который может изменить фон его видов во время салфетки, чтобы отобразить красный фон в Gmail с иконкой trashcan, что-то похожее на это (у которого есть зеленый фон с значком проверки):Android Layer-List VectorDrawable size
Я использовал, чтобы сделать это с помощью следующего кода, и я до сих пор для < 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) растянут, чтобы заполнить экран. Можно ли указать ширину значка?
Так как обновление, эта ошибка фиксируется в прошлом API 23 (Зефир), и существует только на леденец –
любой обходной? –
Свойство 'android: drawable' дает ошибку в API 19 и' app: srcCompat', похоже, не работает в 'layer-list'. Как вы справляетесь с этим? –