Kotlin Multiplatform中Vector XML图片无法显示问题求助
Compose加载Vector XML资源不显示的排查方案
以下是几个常见问题点及对应解决方法:
替换废弃的
vectorResourceAPI
Compose中的vectorResource已被官方废弃,推荐使用painterResource加载Vector资源,修改代码如下:Image( painter = painterResource(id = R.drawable.swords), contentDescription = null, modifier = Modifier.width(82.dp) .clip(RoundedCornerShape(16.dp)) .background(Color.DarkGray) )若项目使用自定义
Res类,需确认Res.drawable.swords映射的资源ID完全正确,直接使用系统生成的R.drawable.swords更不易出错。检查Vector XML资源的配置
打开swords.xml文件,验证:- 未设置
android:alpha="0"、android:tint="@android:color/transparent"这类会隐藏图标的属性; - 根节点
vector的android:width、android:height使用dp等相对单位,而非固定像素; - 路径节点
path的android:fillColor非透明色,且路径包含实际绘制内容。
- 未设置
重新编译资源
执行Clean Project后再Rebuild Project,确保Vector资源被正确编译到项目中,避免资源缓存导致的加载异常。排查Modifier干扰
暂时移除clip、background等Modifier,仅保留width测试图片是否能显示,逐步添加Modifier排查是否有属性导致图片被遮挡或隐藏。
内容的提问来源于stack exchange,提问作者Nogi
相关产品推荐
相关产品推荐

