2015-11-06 24 views
10

Soruma ilişkin soru ile ilgili: link. Kısa bir süre önce, Android'le ilgili kaynakların çoğunu, vektör çizimlerinde farklı çözünürlükler için farklı png dosyalarından değiştirdim.Android Layer-List VectorDrawable boyutu

: Ben, (çek simgesiyle yeşil bir arka planı vardır) buna benzer bir şey bir çöp tenekesi simgesi ile Gmail tarzı kırmızı arka plan göstermek için tokatlamak sırasında görüşlerin arka planını değiştirebilir bir "swipe-to-delete" library kullanıyorum enter image description here

aşağıdaki kodu kullanarak bunu için kullanılan ve hala < API Ancak 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> 

yapmak, farklı sözdizimi 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> 
01 için gereklidir

Şimdi, sol/sağ taraftaki bir simge yerine, API 21 & API 22 (Lollipop) üzerindeki simge ekranı doldurmak için uzatılır. Simgenin genişliğini belirtmenin bir yolu var mı?

+0

bu ekleyin ve sadece Lollipop –

+1

herhangi bir geçici çözüm üzerinde var? –

+3

'android: drawable' özelliği API 19'da kilitlenme sağlar ve 'app: srcCompat'' layer-list'de çalışmamaktadır. Nasıl idare ediyorsun? –

cevap

0

bu böcek geçmiş API 23 (Hatmi) sabittir, uygulama düzeyi build.gradle dosyası Sadece bir güncelleme olarak

defaultConfig { 
    vectorDrawables.useSupportLibrary = true 
} 
İlgili konular