我尝试在图像合成中使用.9.png文件,如:
Image(
painter = painterResource(id = R.drawable.shadow_faq),
contentDescription = "Faq card 1",
modifier = Modifier
.constrainAs(imgGeneral) {
top.linkTo(glImgGeneralTop)
bottom.linkTo(glImgBottom)
start.linkTo(glImgLeft)
end.linkTo(glImgRight)
height = Dimension.fillToConstraints
width = Dimension.fillToConstraints
}
)
但是在执行此操作时,我遇到了一个渲染问题,显示为java.lang.IllegalArgumentException: Only VectorDrawables and rasterized asset types are supported ex. PNG, JPG
如何在Jetpack合成中使用.9.png文件?
4条答案
按热度按时间qni6mghb1#
有时候,我们会加载9.png作为视图的背景,就像聊天应用中的消息项一样。我们可以这样做:
首先,我们加载9.png作为可绘制对象:
其次,我们可以使用Modifier#drawBehind()方法来设置背景:
最后,你会得到你想要的效果。
yeotifhr2#
更新:从
1.0.0-rc02
和伴奏0.14.0
开始,您可以使用coil-compose版本:以前不推荐的答案:
您可以使用Companist中的
DrawablePainter
,它返回一个Painter
,绘制一个AndroidDrawable
。qxgroojn3#
**已编辑:**请使用Gabriele答案。
我尝试了Gabriele解决方案,但当我设置100x200这样的特定大小时,它对我不起作用。
我的解决办法是...
kokeuurv4#
您可以使用AndroidView并通过旧的良好ImageView