Caricamento delle immagini in corso...

Caricare un'immagine dal disco

Utilizza il componibile Image per visualizzare un'immagine sullo schermo. Per caricare un'immagine (ad esempio PNG, JPEG, WEBP) o una risorsa vettoriale dal disco, utilizza l'API painterResource con il riferimento all'immagine. Non è necessario conoscere il tipo dell'asset, basta utilizzare painterResource nei modificatori Image o paint.

DrawScope:

Image(
    painter = painterResource(id = R.drawable.dog),
    contentDescription = stringResource(id = R.string.dog_content_description)
)

Per garantire che la tua app sia accessibile, fornisci un contentDescription per gli elementi visivi sullo schermo. TalkBack legge la descrizione dei contenuti, quindi devi assicurarti che il testo abbia un significato se letto ad alta voce e tradotto. Nell'esempio riportato sopra, viene utilizzato un stringResource() per caricare la descrizione dei contenuti tradotti dal file strings.xml. Se l'elemento visivo sullo schermo è puramente decorativo, imposta contentDescription su null in modo che lo screen reader lo ignori.

Se hai bisogno di funzionalità specifiche di ImageBitmap di livello inferiore, puoi utilizzare ImageBitmap.imageResource() per caricare una bitmap. Per saperne di più su ImageBitmap, leggi la sezione ImageBitmap e ImageVector.

Supporto di Drawable

painterResource al momento supporta i seguenti tipi di elementi drawable:

Caricare un'immagine da internet

Per caricare un'immagine da internet, sono disponibili diverse librerie di terze parti per aiutarti a gestire il processo. Le librerie di caricamento delle immagini svolgono gran parte del lavoro al posto tuo: gestiscono sia la memorizzazione nella cache (in modo da non scaricare l'immagine più volte) sia la logica di rete 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 basata su Kotlin Coroutines (Instacart).

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