我在布局中有一个ImageView。 Layaout背景为白色(@android:color / white),而ImageView中包含* .png图片。但是这张照片上的白色与布局中的白色不同,它是灰色的。a http://desmond.imageshack.us/Himg513/scaled.php?server=513&filename=1325684647707.jpg&res=medium 我试图改变文件的格式,不同的颜色深度等但它没有帮助。然后我从清单中删除minSdkVersion,它解决了问题。但我真的需要清单中的这个标签。有没有人知道哪种格式的图片或我需要改变什么来修复它?
非常感谢
答案 0 :(得分:1)
我已经回答了类似的谬误:Image does not show completely white despite it's correctly white 从那里复制:
问题的原因是,无论APK文件中的原始位图格式如何,所有位图都会被压缩(在我的情况下会变成索引的256色!wtf?)。
我找不到阻止它的方法,所以如果有人知道正确的解决方案,请告诉。
但是,我找到了两种解决白色问题的方法。
1)每位图:说,我们有一个名为@drawable/mypng
的可绘制位图资源,导致问题。我们需要添加一个额外的XML drawable 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 :(得分:-1)
而不是使用默认的白色。重新定义xml中的白色并使用相同的
在res-&gt;下创建colors.xml。值
<?xml version="1.0" encoding="utf-8"?>
<resources><color name="white">#ffffff</color> </resources>
@color/white"
示例android:background="@color/white"