디스크에서 이미지 로드
Image
컴포저블을 사용하여 화면에 그래픽을 표시합니다. 디스크에서 이미지(예: PNG, JPEG, WEBP) 또는 벡터 리소스를 로드하려면 이미지 참조와 함께 painterResource
API를 사용합니다. 애셋 유형을 알 필요는 없습니다. Image
또는 paint
수정자에서 painterResource
를 사용하면 됩니다.
DrawScope
:
Image( painter = painterResource(id = R.drawable.dog), contentDescription = stringResource(id = R.string.dog_content_description) )
앱에 액세스할 수 있도록 하려면 화면의 시각적 요소에 contentDescription
을 제공합니다. TalkBack에서 콘텐츠 설명을 읽어 주므로 소리 내 읽고 번역했을 때 텍스트가 의미를 지니는지 확인해야 합니다. 위의 예에서는 stringResource()
를 사용하여 strings.xml
파일에서 번역된 콘텐츠 설명을 로드합니다. 화면의 시각적 요소가 순수하게 시각적 장식용인 경우 스크린 리더에서 contentDescription
을 null
로 설정하여 무시합니다.
하위 수준의 ImageBitmap
관련 기능이 필요한 경우 ImageBitmap.imageResource()
를 사용하여 비트맵을 로드할 수 있습니다. ImageBitmap에 관한 자세한 내용은 ImageBitmap과 ImageVector 비교 섹션을 참고하세요.
드로어블 지원
painterResource
는 현재 다음과 같은 드로어블 유형을 지원합니다.
AnimatedVectorDrawable
BitmapDrawable
(PNG, JPG, WEBP)ColorDrawable
VectorDrawable
인터넷에서 이미지 로드
인터넷에서 이미지를 로드하는 경우 이 프로세스를 처리하는 데 도움이 되는 서드 파티 라이브러리를 사용할 수 있습니다. 이미지 로드 라이브러리는 여러 까다로운 작업을 처리합니다. 이미지를 다운로드하여 화면에 표시하기 위해 캐싱(이미지를 여러 번 다운로드하지 않아도 됨) 및 네트워킹 로직을 모두 처리합니다.
예를 들어 Coil로 이미지를 로드하는 경우
Instacart에서 gradle 파일에 라이브러리를 추가하고 AsyncImage
를 사용하여 URL에서 이미지를 로드합니다.
AsyncImage( model = "https://example.com/image.jpg", contentDescription = "Translated description of what the image contains" )
Coil
Kotlin 코루틴에서 지원하는 이미지 로드 라이브러리(Instacart)
Glide
부드러운 스크롤에 중점을 두었으며 빠르고 효율적인 Android용 이미지 로드 라이브러리(Google)
추천 서비스
- 참고: JavaScript가 사용 중지되어 있으면 링크 텍스트가 표시됩니다.
- Compose의 리소스
- Compose의 접근성
- Compose의 그래픽