2013-07-25 5 views
5

Ich habe eine Frage bezüglich der https://github.com/nostra13/Android-Universal-Image-Loader Bibliothek.Kann ImageSize mit displayImage() eingestellt werden?

Ich verwende imageLoader.displayImage (...), um Bilder aus meiner Datenbank in Bildansichten zu laden, die sich in einer Listenansicht befinden.

Die docs sagen dies:

ImageSize targetSize = new ImageSize(120, 80); // result Bitmap will be fit to this size 
imageLoader.loadImage(imageUri, targetSize, displayOptions, new SimpleImageLoadingListener() { 
    @Override 
    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { 
     // Do whatever you want with Bitmap 
    } 
}); 

es möglich wäre, eine Zielgröße für die imageLoader.displayImage Methode zu erklären?

+0

Es gibt keine solche Möglichkeit für '.displayImage (...)'. Diese Größe wird von eingehenden 'ImageView' unter Berücksichtigung ihrer Größe und ihres Skalierungstyps berechnet. Sie können den Skalentyp nur in 'DisplayImageOptions' angeben. Warum soll die Zielgröße für 'displayImage (...)' deklariert werden? – NOSTRA

+0

, weil ich eine benutzerdefinierte Bildansicht für Upscaling Bilder verwende, und es stottert meine ui. Ich weiß immer im Voraus, welche Bildgrößen ich haben werde, also möchte ich das nur als Eingabe hinzufügen, also muss ich nicht die upscalable-Bildansicht verwenden (was das Upscaling auf dem ui-Thread macht). – Tamas

+0

Vielleicht 'DisplayImageOptions.scaleType (ImageScaleType.NONE)' ist was Sie brauchen? Dann wird ImageLoader das Originalbild nicht skalieren. – NOSTRA

Antwort

1

Ich würde Ihnen empfehlen, Picasso als eine Alternative zu Universal-Image-Loader zu verwenden. Es ist wirklich schlank und Leistung ist wirklich gut. Es bietet eine gute Anzahl von Apis. Sie können die Zielgröße mit dem folgenden Snippet deklarieren.

Picasso.with(context) 
    .load(url) 
    .resize(50, 50) 
    .centerCrop() 
    .into(imageView) 
+0

hat es Unterstützung für das Laden von Bildern aus SQLite-Datenbank? – Tamas

2

können Sie Methode: public void loadImage(String uri, ImageSize targetImageSize, DisplayImageOptions options, ImageLoadingListener listener) einen ImageSize Parameter einzustellen.

Das heruntergeladene Bild wird decodiert und auf Bitmap der Größe gleich oder größer (normalerweise ein bisschen größer) als eintreffende targetImageSize skaliert.