微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Android中添加PNG图像作为背景而不进行任何更改(绑定)?

我正在尝试添加一个包含渐变的背景(我想使用图像,而不是 android xml声明的渐变效果).

这个图像被Android严重破坏,它添加了一些蹩脚的条带,无论我尝试的结果是相同的(两个捕获大约相同区域的扭曲/正常图像):

 

我的图像用作布局XML中的布局背景:

android:background="@drawable/background_gradient_dithered"

我试图使用一个中间drawable来强制xml为的抖动:

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/background_gradient" android:dither="true" android:antialias="true" android:filter="true"/>

我试图在我的onCreate()中使用以下代码

getwindow().setFormat(PixelFormat.RGBA_8888);

两次尝试都没有改变.

谢谢

解决方法

正确的解决方案是……我打赌你猜对了:重启Eclipse.我已经了解到,Android上的每个问题都可能是“重启Eclipse问题”.

经过一些测试后,我可以补充一点,当Format设置为PixelFormat.RGBA_8888时,启用dethering无用.

读者应该看看@ TenFour04给出的答案,这种方法可以避免使drawable只是为了启用抖动.

window.addFlags(WindowManager.LayoutParams.FLAG_DITHER);

编辑:

我发现,即使有了这些技巧,问题也会持续存在.您可以尝试修改PNG以在其中包含alpha图层(例如,将像素更改为99%的透明度),这将迫使Android编译器不使用它.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐