Wczytaj obraz z dysku
Aby wyświetlić grafikę na ekranie, użyj funkcji kompozycyjnej Image. Aby wczytać 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 modyfikatorów painterResource w Image lub paint.
DrawScope:
Image( painter = painterResource(id = R.drawable.dog), contentDescription = stringResource(id = R.string.dog_content_description) )
Aby aplikacja była dostępna, podaj contentDescription dla elementów wizualnych na ekranie. TalkBack odczytuje opis treści, więc musisz zadbać o to, aby tekst był zrozumiały po odczytaniu na głos i przetłumaczeniu. W poprzednim przykładzie użyto stringResource(), aby wczytać przetłumaczony opis treści z pliku strings.xml. Jeśli element wizualny na ekranie ma charakter wyłącznie dekoracyjny, ustaw contentDescription na null, aby czytnik ekranu go ignorował.
Jeśli potrzebujesz funkcji specyficznych dla ImageBitmap na niższym poziomie, możesz użyć ImageBitmap.imageResource(), aby wczytać bitmapę. Więcej informacji o ImageBitmap znajdziesz w sekcji ImageBitmap a ImageVector.
Obsługa elementów rysowalnych
painterResource obsługuje te typy obiektów rysowalnych:
AnimatedVectorDrawableBitmapDrawable(PNG, JPG, WEBP)ColorDrawableVectorDrawable
Wczytywanie obrazu z internetu
Aby wczytać obraz z internetu, możesz skorzystać z kilku bibliotek innych firm, które pomogą Ci w tym procesie. Biblioteki do wczytywania obrazów wykonują za Ciebie wiele ciężkiej pracy – obsługują zarówno buforowanie (dzięki czemu nie pobierasz obrazu wielokrotnie), jak i logikę sieciową, aby pobrać obraz i wyświetlić go na ekranie.
Aby na przykład wczytać obraz z Instacart za pomocą Coil, dodaj bibliotekę do pliku gradle i użyj AsyncImage, aby wczytać obraz z adresu URL:
AsyncImage( model = "https://example.com/image.jpg", contentDescription = "Translated description of what the image contains" )
Spirala
Biblioteka do wczytywania obrazów obsługiwana przez współprogramy Kotlin (Instacart).
Glide
Szybka i wydajna biblioteka do wczytywania obrazów na Androidzie, która koncentruje się na płynnym przewijaniu (Google).
Dodatkowe materiały
Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy język JavaScript jest wyłączony.
- Zasoby w funkcji Compose
- Ułatwienia dostępu w Compose
- Grafika w Compose