当minSdkVersion="10"时,Android白色图像不是白色的。

3
我在布局中有一个ImageView。布局的背景是白色(@android:color/white),ImageView包含一个*.png图片。但是这张图片上的白色不同于布局中的白色,它有点灰色。a http://desmond.imageshack.us/Himg513/scaled.php?server=513&filename=1325684647707.jpg&res=medium 我尝试更改文件格式、不同的颜色深度等,但都没有帮助。然后我从清单中删除了minSdkVersion标签,问题得到解决。但我真的需要这个标签在清单中。有人知道该图片的哪种格式或者我需要改变什么来修复它吗?
非常感谢
2个回答

1
我已经回答了类似的问题:图像不完全白色,尽管它是正确的白色 从那里复制:

问题的原因是无论APK文件中的原始位图格式如何,所有位图都被压缩(在我的情况下压缩到索引256色!?)。

我找不到阻止它的方法,如果有人知道正确的解决方案,请告诉我。

然而,我找到了两个解决白色问题的方法。

1)按位图:假设我们有一个叫做@drawable/mypng的可绘制位图资源,它会导致问题。我们需要添加一个额外的XML可绘制项drawable/mypng_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"
/>

使用 @drawable/mypng_nofilter 替代。

2) 对于整个活动: 在活动的 onCreate 方法中,我们需要添加

getWindow().setFormat(PixelFormat.RGB_565);

现在窗口具有16位色深度,所有位图显示为“正确”的白色。

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


-1

不要使用默认的白色,重新定义你的XML中的白色并使用相同的颜色。

在res->value下创建colors.xml文件。

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

在你的xml中使用这个白色,例如:android:background="@color/white"


这不是问题。@android:color/white 是真正的白色。问题在于白色背景的图片显示为灰色(如屏幕截图所示)。 - obrien

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接