在Jetpack合成中,谁能告诉我有没有办法将可绘制对象分配给图像合成视图?我把应用程序安装在Android设备上。我得到了一个类型为可绘制的图标,我想在图像中使用它
val icon: Drawable = packageInfor.applicationInfo.loadIcon(packageManager)
我发现有3个函数可以指定图像
从所有我不知道如何分配一个Drawable示例。
vjhs03f71#
毕竟,我找到了一个简单的解决方案与伴奏。感谢@罪人的制度给我的建议。将此依赖项添加到应用gradle。
implementation "com.google.accompanist:accompanist-drawablepainter:<version>" //0.28.0
使用:
Image( painter = rememberDrawablePainter(drawable = drawable), contentDescription = "content description", )
checkout :Drawable Painter¶
uttx8gqw2#
编辑:你一定要使用Wilson Tran答案中推荐的accompanist library,因为它提供了对几种可绘制对象的支持。
如果您不使用伴奏者资料库,您可以执行以下操作...
ContextCompat.getDrawable(LocalContext.current, R.mipmap.ic_launcher)?.let { Image(bitmap = it.toBitmap().asImageBitmap(), contentDescription = null) }
如果需要,可以在toBitmap函数中设置可绘制的大小...
toBitmap
yks3o0rb3#
如果你使用的是Coil library,rememberImagePainter将接受一个Any?作为它的data参数,这包括对Drawable示例的支持。我使用这个作为我的图像的一体化解决方案,而不是导入伴奏。
rememberImagePainter
Any?
Drawable
Image( painter = rememberImagePainter(data = myDrawableInstance) )
ovfsdjhp4#
你可以这样做
val backgroundImage = painterResource(R.drawable.your_image)
然后像这样传递给你的图像
Image(painter = backgroundImage, contentDescription = null)
那会有用的。
4条答案
按热度按时间vjhs03f71#
毕竟,我找到了一个简单的解决方案与伴奏。感谢@罪人的制度给我的建议。
将此依赖项添加到应用gradle。
使用:
checkout :Drawable Painter¶
uttx8gqw2#
编辑:你一定要使用Wilson Tran答案中推荐的accompanist library,因为它提供了对几种可绘制对象的支持。
如果您不使用伴奏者资料库,您可以执行以下操作...
如果需要,可以在
toBitmap
函数中设置可绘制的大小...yks3o0rb3#
如果你使用的是Coil library,
rememberImagePainter
将接受一个Any?
作为它的data参数,这包括对Drawable
示例的支持。我使用这个作为我的图像的一体化解决方案,而不是导入伴奏。ovfsdjhp4#
你可以这样做
然后像这样传递给你的图像
那会有用的。