Cómo agregar una imagen PNG como fondo en Android sin alteración (bandas)?
Estoy tratando de añadir un fondo que incluye un gradiente (Quiero usar una imagen, no un efecto xml declarado gradiente de Android).
Esta imagen está notablemente arruinada por Android, agrega un poco de banda crappy lo que intente el resultado es el mismo (dos captura de aproximadamente la misma región de las imágenes distorsionadas / normal):
- Edita el png del ninepatch del android programly (cambia color)
- Android: Transparencia PNG fallando con BitmapFactory.decodeStream (...) y carpeta de activos
- La imagen transparente de PNG no parece agradable
- Mostrar enormes imágenes en Android
- Quiero guardar una imagen .png de AndroidPlot
Mi imagen se utiliza como un fondo de diseño dentro de mi diseño XML:
android:background="@drawable/background_gradient_dithered"
He intentado utilizar un intermedio drawable para forzar el dither cuyo xml es:
<?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"/>
He intentado tener el código siguiente en mi onCreate ():
getWindow().setFormat(PixelFormat.RGBA_8888);
Ambos intentos no cambiaron nada.
Gracias
- Icono de nueva imagen del lanzador de activos Pérdida de transparencia
- ¿Cómo se exportan los elementos extraíbles del vector XML de Android a otro formato?
- Perder fondo transparente al descargar una imagen PNG externa
- ¿Cómo guardar la vista desde el lienzo al archivo PNG?
- Android - ¿Es posible declarar una máscara alfa directamente dentro de la definición de la capa-lista XML?
- Android: ¿Cómo descargar un archivo .png con Async y configurarlo con ImageView?
- PNG pierde transparencia en Android (si todos sus píxeles no son transparentes)
- Android 2.2 distorsiona los colores de la imagen?
La solución correcta era …. Apuesto a que lo adivinas: reiniciar Eclipse. Lo he aprendido, cada problema en Android podría ser un "problema de reinicio de Eclipse".
Después de algunas pruebas puedo agregar que habilitar dethering no es útil cuando Format está configurado como PixelFormat.RGBA_8888
Los lectores deben echar un vistazo a la respuesta dada por @ TenFour04, este enfoque puede evitar hacer dibujable sólo para permitir el dithering.
window.addFlags(WindowManager.LayoutParams.FLAG_DITHER);
EDIT:
He descubierto que incluso con estos trucos el problema puede persistir. Puedes intentar modificar tu PNG para que tenga una capa alfa (cambiar un píxel a una transparencia del 99% por ejemplo), esto obligaría al compilador androide a no jugar con él.
Intente agregar esto en onCreate (). Las versiones anteriores de Android predeterminan que no hay tramado.
Window window = getWindow(); window.setFormat(PixelFormat.RGBA_8888); window.addFlags(WindowManager.LayoutParams.FLAG_DITHER);
Lo solucioné, solo cambia el tamaño de los archivos .png
. Los puse en el mdpi
y lo redimensioné con Irfanview <-open el editor de la imagen de la fuente a 1024x7xx
<- no recuerdo, esto viene muy práctico y lo 1024x7xx
para 300 dpi
. Así que descargarlo en una tableta y cosas, espero que esto ayude 🙂
- Cómo conectar un teléfono HTC android a la PC como dispositivo de depuración
- ¿Cómo filtrar aplicaciones específicas para (compartir)?