Ho riscontrato problemi con la banding dei miei file PNG. Scavando nel problema ha prodotto due soluzioni. Entrambi hanno senso individualmente, ma insieme non lo fanno. Le soluzioni che ho scoperto:Soluzioni di banding PNG confuse
1) Spostare il file PNG nella cartella "raw". Ciò impedisce a AAPT di "ottimizzare" l'immagine che risulta in bande.
2) Modificare il formato pixel della finestra dell'attività in RGBA_8888 (ad esempio in onCreate aggiungere questa riga "getWindow(). SetFormat (PixelFormat.RGBA_8888)"). Su Android 2.2 e inferiore il formato pixel predefinito è 16 bit (565).
Ho provato entrambi e correggono l'effetto banding nelle mie immagini, tuttavia ora sono ancora più confuso su ciò che sta facendo Android.
Da un lato, se lascio il mio PNG nella cartella estraibile, è "ottimizzato" che si traduce in un effetto di banding nell'immagine. Magicamente scompare quando cambio il formato pixel a 32-bit. Se l'immagine fosse "ottimizzata", mi sarei aspettato che le bande rimanessero.
D'altra parte, se sposto il PNG nella cartella raw, manterrà il gradiente gradevole e verrà visualizzato correttamente anche se il pixelFormat è apparentemente a 16 bit.
Se qualcuno ha qualche idea di ciò che sta accadendo, lo apprezzerei.
Grazie,
-Dan
Ah, quindi il dispositivo * è * in grado di visualizzare il colore a 32 bit, ma l'attività è impostata per utilizzare solo 16 bit prima di 2.3 se sto leggendo la tua risposta correttamente. – Dan
Quasi: "ma l'attività è impostata per utilizzare 16 bit come valore predefinito prima di 2,3". Dire "SOLO" significherebbe non essere in grado di gestire contemporaneamente sia i 16 che i 32 bit, ma in realtà lo è. – Yahel
Ok, grazie per la risposta. Penso di capirlo adesso. – Dan