Caricamento delle immagini in corso...

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:

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"
)

Una libreria di caricamento di immagini supportata da Kotlin Coroutines (Instacart).

Una libreria di caricamento di immagini veloce ed efficiente per Android incentrata sullo scorrimento fluido (Google).