Carica un'immagine dal disco
Usa il componibile Image
per visualizzare un'immagine sullo schermo. Per caricare un'immagine (ad es. PNG, JPEG, WEBP) o una risorsa vettoriale dal disco, utilizza l'API painterResource
con il riferimento dell'immagine. Non è necessario conoscere il tipo
di asset, è sufficiente utilizzare painterResource
nei modificatori Image
o paint
.
DrawScope
:
Image( painter = painterResource(id = R.drawable.dog), contentDescription = stringResource(id = R.string.dog_content_description) )
Per assicurarti che l'app sia accessibile, fornisci un contentDescription
per
gli elementi visivi sullo schermo. TalkBack legge la descrizione dei contenuti, quindi
devi assicurarti che il testo sia significativo se letto ad alta voce e tradotto. Nell'esempio precedente, un elemento stringResource()
viene utilizzato per caricare la descrizione del contenuto tradotto dal file strings.xml
. Se l'elemento visivo sullo schermo è
solo per la decorazione visiva, imposta contentDescription
su null
affinché
lo screen reader lo ignori.
Se hai bisogno di una funzionalità specifica per ImageBitmap
di livello inferiore, puoi utilizzare ImageBitmap.imageResource()
per caricare una bitmap. Per ulteriori informazioni su
ImageBitmaps, leggi la sezione Confronto tra ImageBitmap e ImageVector.
Supporto estraibile
painterResource
supporta attualmente i seguenti tipi di disegno:
AnimatedVectorDrawable
BitmapDrawable
(PNG, JPG, WEBP)ColorDrawable
VectorDrawable
Carica un'immagine da internet
Per caricare un'immagine da internet, sono disponibili diverse librerie di terze parti che consentono di gestire il processo. Le librerie per il caricamento delle immagini svolgono molte attività per te poiché gestiscono sia la memorizzazione nella cache (in modo da non scaricare l'immagine più volte) sia la logica di networking per scaricare l'immagine e visualizzarla sullo schermo.
Ad esempio, per caricare un'immagine con Coil
da Instacart, aggiungi la libreria al file gradle e utilizza un AsyncImage
per caricare un'immagine da un URL:
AsyncImage( model = "https://example.com/image.jpg", contentDescription = "Translated description of what the image contains" )
Spirale
Una libreria di caricamento di immagini supportata da Kotlin Coroutines (Instacart).
Scorrimento orizzontale
Una libreria di caricamento di immagini veloce ed efficiente per Android incentrata sullo scorrimento fluido (Google).
Consigliato per te
- Nota: il testo del link viene visualizzato quando JavaScript è disattivato
- Risorse in Compose
- Accessibilità in Compose
- Elementi grafici in Compose