Sto tentando di utilizzare uno VectorDrawable
in un LayerList
senza ridimensionare il vettore. Ad esempio:Come centrare il vettore drawable in layer-list senza ridimensionare
<layer-list>
<item android:drawable="@color/grid_item_activated"/>
<item android:gravity="center" android:drawable="@drawable/ic_check_white_48dp"/>
</layer-list>
Il drawable ic_check_white_48dp
ID definito come:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/>
</vector>
L'effetto desiderato è che l'icona di controllo per essere centrata nel drawable strato, senza scalare. Il problema è che l'elenco dei livelli sopra fa sì che l'icona di controllo sia ridimensionata per adattarsi alla dimensione del livello.
I può produrre l'effetto desiderato se si sostituisce la drawable vettore con PNGs per ogni densità e modificare lo strato lista come tale:
<layer-list>
<item android:drawable="@color/grid_item_activated"/>
<item>
<bitmap android:gravity="center" android:src="@drawable/ic_check_white_48dp"/>
</item>
</layer-list>
v'è alcun modo per farlo utilizzando un VectorDrawable
?
Sembra che questo possa essere semplicemente un bug nell'API 21/22. Ho appena testato su un dispositivo API 23 e il vettore disegnabile era centrato correttamente. – ashughes
Dovresti rispondere alla tua domanda e accettarla. In questo modo è più visibile e la domanda non appare come senza risposta. –
Non ho risposto alla mia domanda perché non ho ancora una risposta su cosa fare su API 21/22. La mia soluzione temporanea era usare PNG anziché vettori. Sperando di trovare ancora un modo per far funzionare i vettori però. – ashughes