Question

Je mis à jour ma version à construire contre Android 1.6, et maintenant mes bitmaps sont revus à la baisse sur les écrans de haute densité. Je ne veux pas ce comportement. J'ai donné un coup de feu ce:

http://blog.tomgibara.com/post/190539066/android- bitmaps unscaled-

mais les images sont mise à l'échelle STILL, qui est à moins que je les ai placés à une hauteur et une largeur spécifique. Si j'utilise wrap_content ils sont revus à la baisse.

I ai un chargeur d'image en utilisant le chargeur de bitmap unscaled pour créer une zone de dessin comme ceci:

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

que je cède plus tard à un ImageView comme ceci:

imageView.setImageDrawable( copyBitmapDrawable( (BitmapDrawable) drawable) );
Était-ce utile?

La solution 3

Emballage bitmap avec un Drawable est le problème. Le Drawable redimensionne l'Bitmap. Au lieu d'utiliser un Drawable, affecter le Bitmap au ImageView en utilisant directement imageView.setImageBitmap(Bitmap).

Autres conseils

Afin d'avoir une image non redimensionnée au moment du chargement d'une ressource (par exemple avec BitmapFactory.decodeResource) vous devez localiser dans res / drawable-nodpi au lieu de l'habituelle drawable, drawable-LDPI et ainsi de suite.

Utilisation

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

au lieu de

 new BitmapDrawable(bmp);

devrait résoudre le problème.

Utilisez ImageView.ScaleType . Les préformes constantes de CENTER pas mise à l'échelle, donc je suppose que ce que vous recherchez.

Par ailleurs, pensez-vous utiliser des pixels ou des creux comme des unités de taille? Utilisation des creux (densité indépendant-pixels) est un moyen d'affichage sur la normalisation des résolutions multiples. Vous trouverez quelques conseils ici .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top