Frage

ich meine Build Build aktualisierte gegen Android 1.6, und jetzt sind meine Bitmaps verkleinern auf hohen Dichte Bildschirme. Ich dieses Verhalten nicht will. Ich habe dies einen Schuss:

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

aber die Bilder sind Skalierung STILL, das heißt, wenn ich sie auf eine bestimmte Höhe und Breite festgelegt. Wenn ich wrap_content verwenden sie verkleinert.

Ich habe ein Bild loader die nicht skalierten Bitmap-Loader mit einem ziehbar erstellen wie folgt:

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

, die ich zugewiesen werden später zu einem Image etwa so:

imageView.setImageDrawable( copyBitmapDrawable( (BitmapDrawable) drawable) );
War es hilfreich?

Lösung 3

Wrapping die Bitmap mit einem Drawable ist das Problem. Die Drawable skaliert die Bitmap. Statt eine Drawable verwenden, weisen Sie den Bitmap zum ImageView direkt imageView.setImageBitmap(Bitmap) verwendet wird.

Andere Tipps

Um ein Bild nicht skaliert, wenn es von einer Ressource (zum Beispiel mit BitmapFactory.decodeResource) Laden Sie haben es zu finden in res / ziehbar-nodpi statt der üblichen ziehbar, ziehbar-LDPI und so weiter.

Mit

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

statt

 new BitmapDrawable(bmp);

sollte das Problem lösen.

Verwenden Sie ImageView.ScaleType . Die CENTER konstanten Preformen keine Skalierung, so ich, dass das erraten, was Sie suchen.

Übrigens, haben Sie Pixel oder Dips als Größeneinheiten verwenden? Verwendung Dips (dichteunabhängige-Pixel) ist ein Mittel zur Anzeige auf mehreren Auflösungen zu standardisieren. Hier finden Sie ein paar Tipps hier .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top