2016-03-10 12 views
10

Utilizzerò la funzione di disegno vettoriale per le icone della barra delle azioni e l'icona di notifica sulla mia app.Vettore Android disegnabile per l'icona di avvio e altre immagini su Android N

Con l'annuncio della Android N, uno dei suoi caratteristica più importante è Schermo Zoom (su Accessibility Improvements section). Un'altra caratteristica interessante è Supporto multi-finestra (vedere link se si desiderano maggiori informazioni).

Ciò significa che dovremmo utilizzare il vettore estraibile anche per l'icona di avvio e altre immagini utilizzate nell'app?

risposta

16

Vector drawable non è supportato per le icone di avvio. Tuttavia, sei incoraggiato a usarlo ovunque.

+0

È ancora corretto? Sono in grado di usare vettoriale drawable come questo: rpattabi

+3

Se stai usando la conversione automatica vector => PNG, funzionerà correttamente. Se utilizzi solo l'API 21+, potrebbe funzionare correttamente a seconda della risorsa e del programma di avvio utilizzato; tuttavia, non penso che Play Store ti consenta di caricare un APK con un'icona vettoriale. – alanv

+1

Contraddicendo, non ho trovato solo diverse app che usano icone vettoriali (XML) come icona di avvio, ma [questo tutorial] (https://google-developer-training.gitbooks.io/android-developer-fundamentals-course- concepts/content/it/Unit% 202/51_c_drawables, _styles, _and_themes.html # creating-icons) lo consiglia anche. Quindi, se c'è una fonte (ufficiale) per confermare o respingere la tua dichiarazione, un link sarebbe benvenuto. – Izzy

0

Sembra che i drawable vettoriali siano ora supportati per le icone di avvio. Recentemente ho caricato e pubblicato un app (in alpha) con un vettore che può essere disegnato come un'icona.

4

È possibile utilizzare drawable vettoriali come un'icona di avvio se si segue questa procedura:

  1. Luogo di icone vettoriali launcher sotto drawable directory. Non è possibile posizionare i vettori vettoriali nella directory mipmap perché funzioneranno solo nei livelli API 21 e successivi. Come è possibile sapere, è consigliabile posizionare le icone di avvio PNG sotto le directory mipmap-<density> invece di drawable-<density>, ma ciò conta solo se si crea apk separati per ciascuna densità perché in questo caso le directory drawable-<density> tranne quella per la densità corrente verranno eliminate.

  2. Rimuovere vectorDrawables.useSupportLibrary = true nella sezione build.gradledefaultConfig se lo si è impostato in precedenza. Ciò consentirà la generazione di PNG in fase di compilazione per i drawable vettoriali per i livelli API inferiori a 21. Se non si rimuove questa opzione dall'attributo android:icon del tag <application> verrà caricata l'icona Android "verde robot" predefinita.

L'ho provato sul dispositivo API livello 16 e funziona perfettamente.

+0

Grazie, lo proverò nel mio prossimo sprint. Sono solo un po 'preoccupato per la compatibilità, perché ho scelto come target 16 e 19 come minimo SDK nei miei progetti. – JJ86

+0

@ JJ86 L'ho provato sul dispositivo API livello 16 e funziona perfettamente. – mixel

+0

Grazie mille per il tuo feedback! – JJ86