Android中糟糕的背景图像质量

时间:2011-12-07 15:13:45

标签: android image background gradient

我正在尝试在我的活动中添加背景,但图像质量不是预期的。

图像在蓝色条纹上方有一个简单的渐变,目前看起来像这样:

LinearLayout background

我的活动布局:     

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@drawable/background_register"
    android:drawingCacheQuality="high" >
</LinearLayout>

背景描述符(drawable/background_register):

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:antialias="true"
    android:dither="true"
    android:filter="true"
    android:tileMode="repeat"
    android:gravity="center"
    android:src="@drawable/background_blue_565" />

目前我有一个描述BitmapDrawable的XML文件,这是actitivy的LinearLayout背景。但我已经尝试了迄今为止我发现的一切。启用抖动,抗锯齿,平铺,RGBA_8888模式...您可以命名。有没有人有我可以尝试的不同解决方案或想法?我会非常感激。

顺便说一句,我目前正在用Galaxy S II开发应用程序。

3 个答案:

答案 0 :(得分:42)

首先,请确保您的原始图像看起来不错,这样您就不会从那里得到问题 然后,在onCreate()方法中,执行:

<强>代码1:

getWindow().getDecorView().getBackground().setDither(true);
getWindow().setFormat(PixelFormat.RGBA_8888);

<强>推荐使用:

<击> getWindow()addFlags(WindowManager.LayoutParams.FLAG_DITHER);

要将图像显式加载为32位图像(RGBA-8888配置),请在加载视图的位置添加以下内容:

<强>码2:

BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap gradient = BitmapFactory.decodeResource(getResources(), R.drawable.gradient, options);

findViewById(R.id.main).setBackgroundDrawable(new BitmapDrawable(gradient));


不同方法之间的比较: (这些都是生成的应用程序的截图)

我的源图像(左侧64种颜色,右侧24位):
image1和image2:
64-color 24 bit
1:原始 64色图像(image1)设置为布局XML的背景:
Raw image
2:相同的图像(image1),使用 code1
Dithered image
3:使用 code1 code2 的相同图像(image1):
explicit 32bit
4:image2,加载 code1 code2 (在这种情况下,抖动并不重要,因为源和目标都使用每种颜色8位):
higher original quality

注意原始图像中图像3中产生的瑕疵是如何存在的。

注意:如果有人知道如何缩小图像,请随时编辑此帖...

答案 1 :(得分:5)

问题是您的PNG已转换为256色,在您选择的ZIP工具中打开您的APK并手动检查。如果是这种情况,请确保您的PNG有:

  1. Alpha通道
  2. 一个稍微透明的像素
  3. 这可以防止它被转换为索引调色板。

答案 2 :(得分:0)

它看起来像是一个图像问题。保存图像和格式的设置是什么?它看起来像我正在寻找的压缩文物。