2017-03-09 43 views
9

Po aktualizacji do Studio 2.3, gdy próbowałem utworzyć listę warstw z rysunkiem wektorowym, monit o użycie app:srcCompat zamiast android:src w bitmap. Czy mogę dodać vector drawable to layer list?Lista warstw Androida: problem z bitmapą z aplikacją: srcCompat

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:android="http://schemas.android.com/apk/res/android"> 

<item android:drawable="@color/colorWhite" /> 

<item> 
    <bitmap 
     android:gravity="center" 
     app:srcCompat="@drawable/login"> 
    </bitmap> 

</item> 

</layer-list> 

Już dodano

vectorDrawables.useSupportLibrary = true 
+0

szczęścia z tym? –

+0

Nie ma nic do tej pory – Boban

+0

ok. Spróbuję czegoś. daj mi znać, jeśli coś spotkasz. –

Odpowiedz

2

znalazłem rozwiązanie problemu

Modyfikuj drugi element do tego:

<item android:gravity="center" android:drawable="@drawable/login"/> 

UPDATE

to spowoduje awarię na API < 21. Nie ma lepszego sposobu.

+0

To całkiem niezły – Sapher

+0

Czy ktoś znalazł rozwiązanie, które nie powoduje awarii aplikacji dla API <21? – Franco

+0

@Franco https://stackoverflow.com/a/47754369/1081827 – JoseF

0

Zamiast robić:

<item> 
    <bitmap 
     android:gravity="center" 
     app:srcCompat="@drawable/login"> 
    </bitmap> 

</item> 

Musisz zadeklarować tło następujące:

<item> 
     android:gravity="center" 
     app:srcCompat="@drawable/login" 

</item> 

Ponadto, upewnij się, że element app schema prezentuje:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:app="http://schemas.android.com/apk/res-auto" 
    > 
    .... 
</layer-list> 
+0

Myślę, że ' android: gravity =" centrum "app: srcCompat =" @ drawable/login "' nie jest prawidłowy, czy miałeś na myśli ' '? – Franco