从磁盘加载图像
使用 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()
加载位图。有关 ImageBitmaps 的更多信息,请阅读 ImageBitmap 与 ImageVector 部分。
Drawable 支持
painterResource
目前支持以下 Drawable 类型
AnimatedVectorDrawable
BitmapDrawable
(PNG、JPG、WEBP)ColorDrawable
VectorDrawable
从互联网加载图像
要从互联网加载图像,可以使用多个可用的第三方库来帮助您处理此过程。图像加载库为您完成了许多繁重的工作;它们处理缓存(因此您无需多次下载图像)和网络逻辑,以下载图像并在屏幕上显示它。
例如,要使用 Instacart 的 Coil 加载图像,请将库添加到您的 Gradle 文件中,并使用 AsyncImage
从 URL 加载图像
AsyncImage( model = "https://example.com/image.jpg", contentDescription = "Translated description of what the image contains" )
推荐给您
- 注意:当 JavaScript 关闭时,会显示链接文本
- Compose 中的资源
- Compose 中的可访问性
- Compose 中的图形