修改XML填充色后,Jetpack Compose显示的SVG Icon颜色未变更
解决Jetpack Compose Icon加载SVG颜色不生效的问题
问题根源
Jetpack Compose的Icon组件默认会自动用主题里的文字颜色给图标染色,这会直接覆盖你在SVG里设置的粉色,所以图标还是显示黑色。
解决办法
- 关闭自动染色:给
Icon加个tint = Color.Unspecified参数,让组件使用SVG本身的颜色:Icon( painter = painterResource(id = R.drawable.liked), contentDescription = null, tint = Color.Unspecified ) - 检查SVG的fill属性:确认SVG里的
fill是具体的粉色值(比如fill="#FF69B4"),别用fill="currentColor"——这个值会继承文本颜色,依然会被主题覆盖。 - 清缓存重建项目:有时候Android Studio的资源缓存会拖后腿,先执行
Build -> Clean Project,再Rebuild Project试试。
内容的提问来源于stack exchange,提问作者Praneeth Bhargav
相关产品推荐
相关产品推荐

