Читатель может обратиться к этому вопросу: android: dither = "true" не дизеринг, что не так?
У меня тоже была цветовая полоса ... Решением было создание псевдонима (в xml) с дизерингом, установленным в "true" для моих изображений png с градиентами. Это работало, пока я не указал версию SDK в моем файле манифеста <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="8" /> ...
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="8" />
Цветовая полоса появилась на эмуляторе с Android 1.6 (уровень API 4) и скином WVGA800
Может кто-нибудь объяснить мне, почему!?
Файлы проекта: https://rapidshare.com/files/3429393846/Dithering.zip
-
Мой макет и цель на заднем плане (псевдоним с дизерингом):
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/d_gradient_grey_dither"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout>
Фон (d_gradient_grey_dither.xml):
<?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/d_gradient_grey" android:antialias="true" android:dither="true"/>
Файл манифеста:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.test" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".Main" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="8" /> </manifest>
Смотрите результат здесь:
https://docs.google.com/document/d/1XNlR9DvXRvoyFYWVOe9wMARq0E60fkbrBy9ANADvPw4/edit?hl=fr&authkey=COvrv9EG
И файлы проекта, если это может помочь:
https://docs.google.com/leaf?id=0B6Y0F7DEUPbPZTM5MDU0YzAtNjJiYi00NTU0LTlmNTAtMWJiZTJhNjBhYjA3&hl=fr
или (на молнии)
https://rapidshare.com/files/3429393846/Dithering.zip
Это то, что я использую, и я использовал через API 11.
/** -- Eliminates color banding -- **/ @Override public void onAttachedToWindow() { super.onAttachedToWindow(); Window window = getWindow(); window.setFormat(PixelFormat.RGBA_8888); }