Carregar uma imagem do disco
Use o elemento combinável Image
para mostrar um gráfico na tela. Para carregar uma imagem
(por exemplo, PNG, JPEG, WEBP) ou um recurso vetorial do disco, use a
API painterResource
com a referência necessária. Não é preciso saber o tipo
do recurso, basta usar a painterResource
nos modificadores Image
ou paint
.
DrawScope
:
Image( painter = painterResource(id = R.drawable.dog), contentDescription = stringResource(id = R.string.dog_content_description) )
Para garantir que o app seja acessível, forneça uma contentDescription
para
elementos visuais na tela. O TalkBack lê a descrição do conteúdo. Portanto, você
precisa garantir que o texto seja significativo se lido em voz alta e traduzido. No
exemplo acima, um stringResource()
é usado para carregar a descrição de conteúdo
traduzida do arquivo strings.xml
. Se o elemento visual na tela for
puramente para decoração visual, defina contentDescription
como null
para que
o leitor de tela a ignore.
Se você precisar de uma funcionalidade específica de ImageBitmap
de nível inferior, use
ImageBitmap.imageResource()
para carregar um bitmap. Para saber mais sobre
ImageBitmaps, leia a seção ImageBitmap versus ImageVector.
Suporte a drawables
No momento, o painterResource
tem suporte aos seguintes tipos de drawable:
AnimatedVectorDrawable
BitmapDrawable
(PNG, JPG, WEBP)ColorDrawable
VectorDrawable
Carregar uma imagem da Internet
Para carregar uma imagem da Internet, há várias bibliotecas de terceiros disponíveis para ajudar você a lidar com o processo. As bibliotecas de carregamento de imagens fazem grande parte do trabalho pesado para você. Elas processam o armazenamento em cache (para não fazer o download da imagem várias vezes) e a lógica da rede para fazer o download da imagem e mostrá-la na tela.
Por exemplo, para carregar uma imagem com a Coil (link em inglês),
da Instacart, adicione a biblioteca ao arquivo do Gradle e use uma AsyncImage
para carregar uma imagem de um URL:
AsyncImage( model = "https://example.com/image.jpg", contentDescription = "Translated description of what the image contains" )
Coil
Uma biblioteca de carregamento de imagens fornecida pelas corrotinas do Kotlin (Instacart).
Glide
Uma biblioteca de carregamento rápido e eficiente de imagens para Android com foco em rolagem suave (Google).
Recomendados para você
- Observação: o texto do link aparece quando o JavaScript está desativado.
- Recursos no Compose
- Acessibilidade no Compose
- Elementos gráficos no Compose