2015-11-06 3 views
10

Мой вопрос связан с этим: link. Недавно я изменил большинство своих ресурсов для Android с разных png-файлов для разных разрешений на векторные чертежи. Я использую "swipe-to-delete" library, который может изменить фон его видов во время салфетки, чтобы отобразить красный фон в Gmail с иконкой trashcan, что-то похожее на это (у которого есть зеленый фон с значком проверки):Android Layer-List VectorDrawable size

enter image description here

Я использовал, чтобы сделать это с помощью следующего кода, и я до сих пор для < 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) растянут, чтобы заполнить экран. Можно ли указать ширину значка?

+0

Так как обновление, эта ошибка фиксируется в прошлом API 23 (Зефир), и существует только на леденец –

+1

любой обходной? –

+3

Свойство 'android: drawable' дает ошибку в API 19 и' app: srcCompat', похоже, не работает в 'layer-list'. Как вы справляетесь с этим? –

ответ

0

Добавьте это в приложение уровня build.gradle файл

defaultConfig { 
    vectorDrawables.useSupportLibrary = true 
} 
Смежные вопросы