Android 当minSdkVersion=";10“;

Android 当minSdkVersion=";10“;,android,colors,image,Android,Colors,Image,我在布局中有一个ImageView。Layaout背景为白色(@android:color/white),在ImageView中包含*.png图片。但这张图片上的白色与布局中的白色不同,它有点灰色。 我试图改变文件的格式,不同的颜色深度等,但没有帮助。然后我从清单中删除minSdkVersion,它解决了这个问题。但我真的需要清单上的标签。有人知道图片的格式吗?或者我需要改变什么来修复它 非常感谢而不是使用默认的白色。在xml中重新定义白色并使用相同的颜色 在res->value下创建color

我在布局中有一个ImageView。Layaout背景为白色(@android:color/white),在ImageView中包含*.png图片。但这张图片上的白色与布局中的白色不同,它有点灰色。 我试图改变文件的格式,不同的颜色深度等,但没有帮助。然后我从清单中删除minSdkVersion,它解决了这个问题。但我真的需要清单上的标签。有人知道图片的格式吗?或者我需要改变什么来修复它


非常感谢

而不是使用默认的白色。在xml中重新定义白色并使用相同的颜色

在res->value下创建colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources><color name="white">#ffffff</color> </resources>

#ffffff

通过
@color/white“
示例
android:background=“@color/white”
在xml中使用此白色,我已经回答了一个类似的问题: 从那里抄袭:

问题的原因是,无论APK文件中的原始位图格式是什么,所有位图都会被压缩(在我的例子中,压缩为索引的256色!wtf?)

我找不到预防的方法,所以如果有人知道正确的解决方法,请告诉我

然而,我发现了两种解决白色问题的方法

1) 每个位图:比方说,我们有一个名为
@drawable/mypng
的可绘制位图资源,这导致了问题。我们需要添加一个额外的XML drawable drawable/mypng\u nofilter.XML

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/mypng"
    android:filter="false"
/>
现在,窗口具有16位颜色深度,所有位图显示为“正确”白色


同样,我更喜欢32位颜色深度,但我不知道如何控制编译时图像压缩。

这不是问题。@android:color/white是真正的白色。问题是白色背景的图片显示为灰色(如屏幕截图所示)
getWindow().setFormat(PixelFormat.RGB_565);