在 Jetpack Compose 中将 Drawable 实例设置为 Image
Set Drawable instance to Image in Jetpack Compose
在 Jetpack Compose 中,谁能告诉我有没有办法将 Drawable Object 分配给 Image compose 视图?
我获取了安装在 Android 设备上的应用程序。我得到一个类型为 Drawable 的图标,我想在 Image
中使用它
val icon: Drawable = packageInfor.applicationInfo.loadIcon(packageManager)
我发现有3个函数可以赋值图片
- From Painter (IdRes)
- From ImageBitmap
- From ImageVector
我不知道如何分配 Drawable 实例。
你可以这样做
val backgroundImage = painterResource(R.drawable.your_image)
然后像那样将其传递给您的图像
Image(painter = backgroundImage, contentDescription = null)
那行得通。
Edit:您绝对应该按照 Wilson Tran 答案中的建议使用 accompanist library。因为它提供了对多种可绘制对象的支持。
如果您不使用伴奏库,您可以执行以下操作...
ContextCompat.getDrawable(LocalContext.current, R.mipmap.ic_launcher)?.let {
Image(bitmap = it.toBitmap().asImageBitmap(), contentDescription = null)
}
如果需要,您可以在 toBitmap
函数中设置可绘制大小...
毕竟,我找到了一个简单的伴奏解决方案。感谢系统的@Sinner 给我的建议
正在将此依赖项添加到应用程序 gradle。
implementation "com.google.accompanist:accompanist-drawablepainter:<version>" //0.16.0
使用:
Image(
painter = rememberDrawablePainter(drawable = drawable),
contentDescription = "content description",
)
如果您使用 Coil library,rememberImagePainter
将接受 Any?
作为其数据参数,其中包括对 Drawable
实例的支持。我将其用作图像的 all-in-one 解决方案,而不是导入伴奏。
Image(
painter = rememberImagePainter(data = myDrawableInstance)
)
在 Jetpack Compose 中,谁能告诉我有没有办法将 Drawable Object 分配给 Image compose 视图?
我获取了安装在 Android 设备上的应用程序。我得到一个类型为 Drawable 的图标,我想在 Image
中使用它val icon: Drawable = packageInfor.applicationInfo.loadIcon(packageManager)
我发现有3个函数可以赋值图片
- From Painter (IdRes)
- From ImageBitmap
- From ImageVector
我不知道如何分配 Drawable 实例。
你可以这样做
val backgroundImage = painterResource(R.drawable.your_image)
然后像那样将其传递给您的图像
Image(painter = backgroundImage, contentDescription = null)
那行得通。
Edit:您绝对应该按照 Wilson Tran 答案中的建议使用 accompanist library。因为它提供了对多种可绘制对象的支持。
如果您不使用伴奏库,您可以执行以下操作...
ContextCompat.getDrawable(LocalContext.current, R.mipmap.ic_launcher)?.let {
Image(bitmap = it.toBitmap().asImageBitmap(), contentDescription = null)
}
如果需要,您可以在 toBitmap
函数中设置可绘制大小...
毕竟,我找到了一个简单的伴奏解决方案。感谢系统的@Sinner 给我的建议
正在将此依赖项添加到应用程序 gradle。
implementation "com.google.accompanist:accompanist-drawablepainter:<version>" //0.16.0
使用:
Image(
painter = rememberDrawablePainter(drawable = drawable),
contentDescription = "content description",
)
如果您使用 Coil library,rememberImagePainter
将接受 Any?
作为其数据参数,其中包括对 Drawable
实例的支持。我将其用作图像的 all-in-one 解决方案,而不是导入伴奏。
Image(
painter = rememberImagePainter(data = myDrawableInstance)
)