Ich verwende Glide, um Bilder auf Scale ImageView zu laden - es ist eine benutzerdefinierte Ansicht mit Schwenk-und Zoom-Gesten. Ich sollte Bitmap
Objekt an diese benutzerdefinierte Ansicht übergeben, um Bild festzulegen.Android Glide: Wie Bitmap in bestimmter Größe herunterladen?
private SimpleTarget target = new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(Bitmap bitmap, GlideAnimation glideAnimation) {
scaleImageView.setImage(ImageSource.bitmap(bitmap));
}
};
private void loadImageSimpleTarget() {
Glide
.with(context)
.load(url)
.asBitmap()
.into(target);
}
Dieser Code-Schnipsel funktioniert gut, aber ich werde Gross Bitmap erhalten, die zu OutOfMemoryErrors
führen kann:
So kann ich Glide .asBitmap()
mit SimpleTarget
verwenden. Auch könnte ich gewünschte Bitmap-Größe auf Konstruktor wie folgt angeben: ...new SimpleTarget<Bitmap>(250, 250)...
, aber ich würde Dimensionen manuell berechnen müssen.
Gibt es eine Möglichkeit, die Ansicht (Instanz von CustomView) an Glides Anfrage zu übergeben, so dass Dimensionen automatisch berechnet werden und Bitmap-Objekte als Ergebnis erhalten?
Sie die Dimensionen von Custom benutzen? – leonziyo
@leonziyo Ja, ich möchte Bilder in der Größe von CustomView laden. Ich benutze es mit 'match_parent', also wird es bestimmte Dimensionen haben. – Ruslan
Warum übergeben Sie die Dimension nicht an 'SimpleTarget's Konstruktor. So: 'new SimpleTarget (customView.getWidth(), customView.getHeight())' ... –
leonziyo