You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jetpack Compose加载drawable目录下png图片显示异常如何解决

问题原因

该图片显示异常(整体呈现单一色调)通常由以下三类原因导致:

  1. 资源存放路径不符合要求:PNG资源仅存放在带版本限定符的drawable目录(如drawable-v24),低版本系统/模拟器无法匹配到对应资源,会自动填充主题色作为占位
  2. Compose Image组件默认着色问题:部分版本的Compose或自定义主题会默认继承主题主色作为图片的tint值,覆盖原图本身的色彩
  3. 资源文件损坏:直接复制粘贴PNG到drawable目录时,Android Studio自动压缩转码过程中损坏了图片文件,或是图片本身的透明通道配置异常
解决方法
  • 检查资源存放路径:将dbz_logo_2.png移动到通用资源目录,比如drawable-xhdpi等密度限定目录,或是不参与密度适配的drawable-nodpi目录,不要仅放在带版本号限定的drawable目录下
  • 显式关闭Image组件的默认着色:给Image参数添加tint = Color.Unspecified,覆盖可能存在的默认主题色填充,修改后的代码如下:
@Composable
fun SplashBody() {
    Column(
        modifier = Modifier
            .fillMaxSize()
            .background(color = Color(0xFFF85B1A)),
        horizontalAlignment = Alignment.CenterHorizontally,
        verticalArrangement = Arrangement.Center,
    ) {
        Image(
            painter = painterResource(id = R.drawable.dbz_logo_2), 
            contentDescription = "",
            tint = Color.Unspecified
        )
    }
}
  • 重新导入图片资源:右键drawable目录选择New -> Image Asset,选择你的PNG文件按照向导导入,避免直接复制导致的资源损坏
  • 清理项目缓存:点击菜单栏Build -> Clean Project后再执行Rebuild Project,清除旧的编译缓存后重新运行

内容的提问来源于stack exchange,提问作者LordCommanDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:06:03