相关疑难解决方法(0)

android:dither ="true"没有抖动,有什么不对?

我一直试图让android来抖动活动的背景图片 - 到目前为止还没有成功.我不知道出了什么问题.

这就是我做的:

我的活动布局的根元素是LinearLayout:

<LinearLayout android:id="@+id/AbsoluteLayout01"
android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:gravity="center_horizontal"
android:background="@drawable/background_dither">
Run Code Online (Sandbox Code Playgroud)

我添加了@ drawable/background_dither作为背景图片.我在drawable-hdpi中放了一个XML文件"background_dither.xml",其中包含以下内容:

<?xml version="1.0" encoding="utf-8"?>
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/backimg"
android:src="@drawable/background"
android:dither="true"
android:antialias="true" />
Run Code Online (Sandbox Code Playgroud)

它引用了drawable-hdpi中的实际图像background.png.包含大颜色渐变的图像确实会显示,但颜色条纹很重.根据我从SDK中学到的知识,可以通过使用/上面的代理图像定义以及指定android:dither ="true"来减轻这种影响.然而,这绝对没有效果.

我错过了什么让抖动工作?

EDIT:在这里上传

EDIT2:在没有任何建议的方法有助于摆脱色带之后,在阅读了Romain Guy的这篇博文之后, 我有了检查我的PNG背景是否有alpha通道的想法.它没有.添加一个之后,android实际上似乎使用了RGB8888,正如帖子中所述并且条带消失了(也是为2.2).仍然想知道为什么其他方法不起作用.

EDIT3:必须确保PNG不仅具有alpha通道,而且至少有一个具有alpha值的像素!= FF,否则android构建工具将再次将该位图剥离到没有alpha通道的索引调色板.

android android-layout

20
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×1

android-layout ×1