Le risorse delle app, ad esempio bitmap e layout, sono organizzate in base al tipo
all'interno della directory res/
di ogni modulo. Puoi anche aggiungere alternative
di ogni file ottimizzate per dispositivi diversi
configurazioni, ad esempio una versione ad alta risoluzione di una bitmap per
schermate.
Android Studio ti aiuta ad aggiungere nuove risorse e risorse alternative in diversi a seconda del tipo di risorsa che vuoi aggiungere. In questa pagina viene descritto come aggiungere file di risorse di base, cambiare la località delle risorse e come funziona l'unione delle risorse.
Consulta le pagine seguenti per i dettagli su come creare tipi di risorse specifici:
- Per aggiungere i file di layout, consulta la sezione Creare una UI con l'editor di layout.
- Per aggiungere file di stringa, consulta la sezione Localizzare l'UI con l'editor di traduzioni.
- Per aggiungere bitmap, consulta la sezione Creare icone di app con Image Asset Studio.
- Per aggiungere file SVG, consulta la sezione Aggiungere grafiche vettoriali a più densità.
Per informazioni su come fare riferimento alle risorse della tua app di codice, consulta Panoramica delle risorse per app.
Aggiungi un file di risorse XML
Sebbene i link alle pagine precedenti descrivano flussi di lavoro personalizzati di risorse, puoi aggiungere qualsiasi file di risorse XML seguendo questi passaggi:
Fai clic sul modulo dell'app di destinazione nella finestra Progetto in la vista Android o Progetto.
- Seleziona File > Nuovo > File di risorse Android.
- Inserisci i dettagli nella finestra di dialogo:
- Nome file: inserisci il nome per il file XML (non è necessario il valore
.xml
). - Tipo di risorsa: seleziona il tipo di risorsa che vuoi creare.
- Elemento principale: se applicabile, seleziona l'elemento XML principale per il parametro . Alcuni tipi di risorse supportano un solo tipo di elemento principale. A seconda sul tipo di risorsa selezionato, questa impostazione potrebbe non essere modificabile.
- Set di origine: seleziona il set di origine in cui vuoi salvare il file.
- Nome directory: il nome della directory deve essere specifico al tipo di risorsa e ai qualificatori di configurazione. Non modificare questo elemento a meno che aggiungere qualificatori di configurazione manualmente il nome della directory (utilizza invece Qualificatori disponibili).
- Qualificatori disponibili: anziché includere manualmente i qualificatori di configurazione. nel nome della directory, puoi aggiungerli selezionando un qualificatore dal dall'elenco e facendo clic su Aggiungi .
- Nome file: inserisci il nome per il file XML (non è necessario il valore
- Dopo aver aggiunto tutti i qualificatori, fai clic su OK.
Suggerimento: per aprire una versione semplificata della finestra di dialogo Nuovo file di risorsa specifico per il tipo di risorsa che vuoi aggiungere, fai clic con il tasto destro del mouse su risorsa all'interno della cartella res e seleziona Nuovo > type-name file di risorse.
Risorse XML complesse incorporate
Alcune risorse complesse richiedono più file di risorse XML. Ad esempio, un drawable vettoriale animato ha un oggetto disegnabile vettoriale e un oggetto di animazione e richiede almeno tre file XML.
In questo esempio, puoi creare e conservare i tre file XML separati se devi riutilizzare uno o più che li rappresentano. Ma se i file XML vengono usati solo per questo drawable vettoriale animato, puoi usare il formato di risorse in linea fornito nella sezione Strumento di imballaggio (AAPT). Con AAPT, puoi definire tutte e tre le risorse in un unico XML . Per ulteriori informazioni, consulta la sezione XML complesso in linea Google Cloud.
Aggiungi una directory di risorse
Per aggiungere una nuova directory di risorse:
Fai clic sul modulo dell'app di destinazione nella finestra Progetto.
- Seleziona File > Nuovo > Directory delle risorse Android.
- Inserisci i dettagli nella finestra di dialogo:
- Nome directory: il nome della directory deve essere specifico al tipo di risorsa e alla combinazione di qualificatori di configurazione. Azioni sconsigliate modificare questo campo, a meno che tu non voglia aggiungere qualificatori di configurazione manualmente il nome della directory (utilizza invece Qualificatori disponibili).
- Tipo di risorsa:seleziona il tipo di risorsa che deve essere contenuta nella directory.
- Set di origine:seleziona il set di origini in cui vuoi inserire la directory.
- Qualificatori disponibili: anziché includere manualmente i qualificatori di configurazione nel nome della directory, puoi aggiungerli selezionando un qualificatore dal dall'elenco e facendo clic su Aggiungi .
- Dopo aver aggiunto tutti i qualificatori, fai clic su OK.
Cambia la directory delle risorse
Per impostazione predefinita, le risorse si trovano in
module-name/src/source-set-name/res/
.
Ad esempio, le risorse per il set di origini principale del modulo si trovano in src/main/res/
,
e le risorse per il set di origini di debug si trovano in src/debug/res/
.
Tuttavia, puoi modificare questi percorsi
località (relativa al file build.gradle
) con la proprietà res.srcDirs
nel blocco sourceSets
. Ad esempio:
Alla moda
android { sourceSets { main { res.srcDirs = ['resources/main'] } debug { res.srcDirs = ['resources/debug'] } } }
Kotlin
android { sourceSets { getByName("main") { res.srcDirs("resources/main") } getByName("debug") { res.srcDirs("resources/debug") } } }
Puoi anche specificare più directory delle risorse per un set di origini, quindi gli strumenti di creazione li uniscono. Ad esempio:
Alla moda
android { sourceSets { main { res.srcDirs = ['res1', 'res2'] } } }
Kotlin
android { sourceSets { main { res.srcDirs("res1", "res2") } } }
Per ulteriori informazioni, leggi le informazioni set di origine.
Unione delle risorse
Le risorse nel file finale dell'app possono provenire da tre origini:
- Il set di origini principali (generalmente situato in
src/main/res/
) - Crea set di origini di varianti
- Librerie Android (AAR)
Quando tutte le risorse di ogni set di origine o libreria sono univoche, saranno tutte aggiunte all'app finale. Una risorsa è considerata univoca se il suo nome file è univoci all'interno dei due Directory resource type e ai qualificatore delle risorse (se definita).
Se esistono due o più versioni corrispondenti della stessa risorsa, solo una versione sarà inclusa nell'app finale. Gli strumenti di creazione selezionano quale versione mantenere in base al seguente ordine di priorità (priorità massima a sinistra):
variante di build > tipo di build > versione del prodotto > set di sorgenti principali > delle dipendenze di libreria.
Ad esempio, se il set di origini principali contiene:
res/layout/example.xml
res/layout-land/example.xml
Il tipo di build di debug contiene:
res/layout/example.xml
Quindi l'app finale include res/layout/example.xml
del tipo di build di debug e
res/layout-land/example.xml
dal set di origini principali.
Tuttavia, se la configurazione della build specifica più cartelle di risorse un determinato set di origini e si verificano conflitti tra tali origini, viene generato un errore e l'unione non riesce perché ogni directory delle risorse ha lo stesso la priorità.