Bilder werden geladen

Image vom Laufwerk laden

Mit der zusammensetzbaren Funktion Image k�nnen Sie eine Grafik auf dem Bildschirm darstellen. Wenn Sie ein Bild (z.�B. PNG, JPEG, WEBP) oder eine Vektorressource von der Festplatte laden m�chten, verwenden Sie die painterResource API mit Ihrer Bildreferenz. Sie m�ssen den Typ des Assets nicht kennen. Verwenden Sie einfach painterResource in Image- oder paint-Modifizierern.

DrawScope:

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

Damit Ihre App barrierefrei ist, m�ssen Sie f�r visuelle Elemente auf dem Bildschirm eine contentDescription angeben. TalkBack liest die Beschreibung des Inhalts vor, muss daf�r sorgen, dass der Text sinnvoll ist, wenn er laut vorgelesen und �bersetzt wird. Im obigen Beispiel wird stringResource() verwendet, um die Beschreibung der �bersetzten Inhalte aus der Datei strings.xml zu laden. Wenn das visuelle Element auf dem Bildschirm nur zur visuellen Dekoration dient, setzen Sie contentDescription auf null, damit es vom Screenreader ignoriert wird.

Wenn Sie ImageBitmap-spezifische Funktionen niedrigerer Ebene ben�tigen, k�nnen Sie mit ImageBitmap.imageResource() eine Bitmap laden. Weitere Informationen zu ImageBitmaps finden Sie im Abschnitt ImageBitmap im Vergleich zu ImageVector.

Unterst�tzung f�r Zeichnen

painterResource unterst�tzt derzeit die folgenden Drawable-Typen:

Bild aus dem Internet laden

Zum Laden eines Bildes aus dem Internet gibt es mehrere Bibliotheken von Drittanbietern die Ihnen bei der Abwicklung des Vorgangs helfen. Bibliotheken zum Laden von Bildern �bernehmen einen Gro�teil der Arbeit f�r Sie. Sie k�mmern sich sowohl um das Caching (damit das Bild nicht mehrmals heruntergeladen wird) als auch um die Netzwerklogik, um das Bild herunterzuladen und auf dem Bildschirm anzuzeigen.

Wenn Sie beispielsweise ein Bild mit Coil aus Instacart laden m�chten, f�gen Sie die Bibliothek Ihrer Gradle-Datei hinzu und verwenden Sie AsyncImage, um ein Bild �ber eine URL zu laden:

AsyncImage(
    model = "/proxy/https://example.com/image.jpg",
    contentDescription = "Translated description of what the image contains"
)

Eine Bildbibliothek, die von Kotlin-Coroutines (Instacart) unterst�tzt wird

Eine schnelle und effiziente Bibliothek zum Laden von Bildern f�r Android, die auf fl�ssiges Scrollen ausgerichtet ist (Google).