从磁盘加载图片
您可以使用 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 部分。
可绘制对象支持
painterResource
目前支持以下可绘制对象类型:
AnimatedVectorDrawable
BitmapDrawable
(PNG、JPG、WEBP)ColorDrawable
VectorDrawable
从互联网加载图片
如需从互联网加载图片,有几个第三方库可协助您处理该流程。图片加载库可以为您完成许多繁重工作;而且可以同时处理缓存(这样您就不必多次下载图片)和网络逻辑,从而下载图片并在屏幕上进行显示。
例如,如需使用 Instacart 的 Coil 库来加载图片,请将该库添加到 Gradle 文件中,并使用 AsyncImage
加载来自网址的图片:
AsyncImage( model = "https://example.com/image.jpg", contentDescription = "Translated description of what the image contains" )
为您推荐
- 注意:当 JavaScript 处于关闭状态时,系统会显示链接文字
- Compose 中的资源
- Compose 中的无障碍功能
- Compose 中的图形