我正在尝试添加一个包含渐变的背景(我想使用图像,而不是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);
两次尝试都没有改变。
由于
答案 0 :(得分:2)
正确的解决方案是....我敢打赌你猜错了:重启Eclipse。我已经学会了,Android上的每个问题都可能是“重启Eclipse问题”。
经过一些测试后,我可以补充一点,当Format设置为PixelFormat.RGBA_8888时,启用dethering无效
读者应该看一下@ TenFour04给出的答案,这种方法可以避免使drawable只是为了启用抖动。
window.addFlags(WindowManager.LayoutParams.FLAG_DITHER);
编辑:
我发现即使有了这些技巧,问题也会持续存在。您可以尝试修改PNG以在其中包含alpha图层(例如,将像素更改为99%的透明度),这会迫使Android编译器不使用它。
答案 1 :(得分:1)
尝试在onCreate()中添加它。较旧版本的Android默认不抖动。
Window window = getWindow();
window.setFormat(PixelFormat.RGBA_8888);
window.addFlags(WindowManager.LayoutParams.FLAG_DITHER);
答案 2 :(得分:0)
我解决了,只需更改.png
文件的大小。我将它们放在mdpi
中并使用Irfanview&lt; -open源图像编辑器将其调整为1024x7xx
&lt; - 不记得,this comes too handy
我为300 dpi
设置了它。所以他们在平板电脑和东西上下载它,希望这有助于:)