2015-11-06 6 views
10

Meine Frage bezieht sich auf diese Frage: link. Ich habe kürzlich die meisten meiner Ressourcen für Android aus verschiedenen Png-Dateien für verschiedene Auflösungen in Vektor-Drawable geändert. Ich benutze eine "swipe-to-delete" library, die den Hintergrund der Ansichten während des Wischens ändern kann, um einen roten Hintergrund im Gmail-Stil mit einem Mülleimer-Symbol anzuzeigen, etwas Ähnliches (das einen grünen Hintergrund mit einem Häkchen-Symbol hat):Android Layer-Liste VectorDrawable Größe

enter image description here

I verwendet, das zu tun, mit dem folgenden Code, und ich immer noch für < 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> 

ist jedoch unterschiedliche Syntax für API erforderlich 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> 

Jetzt wird anstelle eines Symbols auf der linken/rechten Seite das Symbol auf API 21 & API 22 (Lollipop) gestreckt, um den Bildschirm zu füllen. Gibt es eine Möglichkeit, die Breite des Symbols anzugeben?

+0

nur als Update wird dieser Bug vorbei API 23 (Eibisch) befestigt ist, und existiert nur auf dem Lollipop –

+1

jede Abhilfe? –

+3

Die Eigenschaft 'android: drawable' gibt einen Absturz in API 19 und' app: srcCompat' scheint nicht in 'layer-list' zu funktionieren. Wie gehst du damit um? –

Antwort

0

Fügen Sie diese auf Ihre App-Ebene build.gradle Datei

defaultConfig { 
    vectorDrawables.useSupportLibrary = true 
}