如何在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编译器不使用它.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...