【问题标题】:Android white image is not white when minSdkVersion="10" [duplicate]当minSdkVersion =“10”时Android白色图像不是白色[重复]
【发布时间】:2012-02-02 10:07:03
【问题描述】:

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

非常感谢

【问题讨论】:

    标签: android colors image


    【解决方案1】:

    我已经回答了类似的问题:Image does not show completely white despite it's correctly white 从那里复制:

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

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

    但是,我找到了两种解决白色问题的方法。

    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 位色深,但我不知道如何控制编译时图像压缩。

    【讨论】:

      【解决方案2】:

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

      在res->value下创建colors.xml

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

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

      【讨论】:

      • 这不是问题。 @android:color/white 是真正的白色。问题是白色背景的图片显示为灰色(如屏幕截图所示)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-14
      • 1970-01-01
      • 1970-01-01
      • 2016-08-29
      • 1970-01-01
      • 1970-01-01
      • 2015-05-27
      相关资源
      最近更新 更多