Ładowanie obrazu z dysku
Aby wyświetlić grafikę na ekranie, użyj komponentu Image
. Aby załadować obraz (np. PNG, JPEG, WEBP) lub zasób wektorowy z dysku, użyj interfejsu API painterResource
z odwołaniem do obrazu. Nie musisz znać typu zasobu. Wystarczy, że użyjesz wartości painterResource
w modyfikatorach Image
lub paint
.
DrawScope
:
Image( painter = painterResource(id = R.drawable.dog), contentDescription = stringResource(id = R.string.dog_content_description) )
Aby mieć pewność, że Twoja aplikacja jest dostępna, podaj contentDescription
dla elementów wizualnych na ekranie. Funkcja TalkBack odczytuje opis treści, więc musisz się upewnić, że tekst ma sens, gdy zostanie odczytany na głos i przetłumaczony. W tym przykładzie element stringResource()
służy do wczytania przetłumaczonego opisu treści z pliku strings.xml
. Jeśli element wizualny na ekranie służy wyłącznie do ozdoby, ustaw contentDescription
na null
, aby czytnik ekranu go zignorował.
Jeśli potrzebujesz funkcji ImageBitmap
na niższym poziomie, możesz użyć funkcji ImageBitmap.imageResource()
do załadowania pliku Bitmap. Więcej informacji o obrazach typu ImageBitmap znajdziesz w sekcji ImageBitmap a ImageVector.
Obsługa rysowania
painterResource
obsługuje obecnie te typy obiektów do rysowania:
AnimatedVectorDrawable
BitmapDrawable
(PNG, JPG, WEBP)ColorDrawable
VectorDrawable
Wczytywanie obrazu z internetu
Aby wczytać obrazy z internetu, możesz skorzystać z kilku bibliotek innych firm. Biblioteki do wczytywania obrazów wykonują za Ciebie wiele ciężkiej pracy. Zajmują się zarówno buforowaniem (dzięki czemu nie musisz pobierać obrazu wielokrotnie), jak i logiką sieciową, aby pobrać obraz i wyświetlić go na ekranie.
Aby na przykład załadować obraz za pomocą komponentu Coil z Instacart, dodaj bibliotekę do pliku gradle i użyj elementu AsyncImage
, aby załadować obraz z adresu URL:
AsyncImage( model = "https://example.com/image.jpg", contentDescription = "Translated description of what the image contains" )
Cewka
Biblioteka do wczytywania obrazów obsługiwana przez Kotlin Coroutines (Instacart).
Glide
Szybka i wydajna biblioteka ładowania obrazów na Androida, która zapewnia płynne przewijanie (Google).
Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy obsługa JavaScript jest wyłączona
- Zasoby w sekcji Tworzenie
- Ułatwienia dostępu w edytorze
- Grafika w sekcji Nowy post