Pregunta

He actualizado mi construcción para construir contra Android 1.6, y ahora mis mapas de bits se reducen en las pantallas de alta densidad. NO deseo que este comportamiento. Le he dado un tiro:

http://blog.tomgibara.com/post/190539066/android- sin escala-mapas de bits

Pero las imágenes están todavía descamación, es decir a menos que los puse a una altura y anchura específica. Si uso wrap_content que se reducen.

Tengo un cargador de imagen utilizando el cargador de mapa de bits sin escala para crear un estirable de esta manera:

Bitmap bm = UnscaledBitmapLoader.loadFromResource(imageBufferInputStream);
drawable = new BitmapDrawable(bm);

que más tarde se le asigno a un ImageView de esta manera:

imageView.setImageDrawable( copyBitmapDrawable( (BitmapDrawable) drawable) );
¿Fue útil?

Solución 3

Envolver el mapa de bits con un Drawable es el problema. El Drawable escala el Bitmap. En lugar de utilizar un Drawable, asignar el Bitmap a la ImageView directamente utilizando imageView.setImageBitmap(Bitmap).

Otros consejos

Con el fin de tener una imagen no reducido al cargarlo desde un recurso (por ejemplo, con BitmapFactory.decodeResource) usted tiene que localizar en res / dibujable-nodpi en lugar de la habitual estirable, estirable-LDPI y así sucesivamente.

Uso

new BitmapDrawable(this.getResources(), bmp); 

en lugar de

 new BitmapDrawable(bmp);

debería resolver el problema.

ImageView.ScaleType . Las preformas constantes CENTER sin escala, así que supongo que eso es lo que está buscando.

Por cierto, no se utiliza píxeles o salsas como unidades de tamaño? Usando dips (independientes de la densidad-píxeles) es un medio de normalización de la visualización en múltiples resoluciones. Encontrará un par de consejos aquí .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top