ho questo codice in un XML all'interno della cartella drawable
:Selettore, Layer-list e forma/bitmap nella stessa XML
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<layer-list>
<item>
<shape android:shape="rectangle">
<size android:width="90dp" android:height="90dp" />
<solid android:color="#9933CC" />
</shape>
</item>
<item>
<bitmap android:gravity="center" android:src="@drawable/main_achievements_synthesis" />
</item>
</layer-list>
</item>
<item>
<layer-list>
<item>
<shape android:shape="rectangle">
<size android:width="90dp" android:height="90dp" />
<solid android:color="#AA66CC" />
</shape>
</item>
<item>
<bitmap android:gravity="center" android:src="@drawable/main_achievements_synthesis" />
</item>
</layer-list>
</item>
</selector>
lo uso per avere un'immagine con 2 stati (da usare come pulsante). Tutto funziona come previsto su emulatore e dispositivi.
So che posso creare diversi xml disegnabili e fare un riferimento per ottenere lo stesso risultato.
Ho appena passato ad Android Studio e mi mostra questo messaggio: Element XXX is not allowed here
. Mi mette in guardia sulla lista dei livelli e su tutti i tag al suo interno. Tuttavia, come ho detto, questo codice funziona bene.
Devo passare il mio codice a XML separati (sapendo che li userò solo una volta) o è un "errore" nel codice Inspector di Android Studio?
NOTA: Penso che il mio codice possa essere ottimizzato, ma non ho ancora capito come.
non ho creato un nuovo problema. Penso di averne trovato uno con una descrizione simile https://code.google.com/p/android/issues/detail?id=73194 – gian1200