Vorrei utilizzare Glide per caricare bitmap su ImageView dopo il ritaglio e il ridimensionamento di una bitmap.Usa glide per caricare bitmap su ImageView
Non voglio usare ImageView.setImageBitmap(bitmap);
perché sto caricando molte immagini e potrebbe occupare un po 'di memoria, anche se le immagini sono di piccole dimensioni, ho solo bisogno di usare Glide perché so che ottimizza il caching delle immagini.
Ho letto this post, ma non ho capito bene la sua soluzione quando ho provato a implementarlo. Quindi forse qualcuno ha una soluzione più pulita e più facilmente comprensibile.
Questo è il mio codice che preleva un'immagine e ne crea una bitmap.
Ho bisogno di usare la glide invece di ImageView.setImageBitmap(bitmap);
.
new AsyncTask<String, Void, Void>() {
Bitmap theBitmap = null;
Bitmap bm = null;
@Override
protected Void doInBackground(String... params) {
String TAG = "Error Message: ";
try {
//Load the image into bitmap
theBitmap = Glide.
with(mContext).
load("http://example.com/imageurl").
asBitmap().
into(-1, -1).
get();
//resizes the image to a smaller dimension out of the main image.
bm = Bitmap.createBitmap(theBitmap, 0, 0, 210, 80);
} catch (final ExecutionException e) {
Log.e(TAG, e.getMessage());
} catch (final InterruptedException e) {
Log.e(TAG, e.getMessage());
} catch (final NullPointerException e) {
//
}
return null;
}
@Override
protected void onPostExecute(Void dummy) {
if (null != theBitmap) {
//Set image to imageview.
**// I would like to Use Glide to set the image view here Instead of .setImageBitmap function**
holder.mImageView.setImageBitmap(bm);
holder.mImageView.setAdjustViewBounds(true);
holder.mImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
}
}
}.execute();
Puoi dirmi qual è il tuo problema? Bitmap è nullo o il tuo 'ImageView' mostra il quadrato bianco? –
No, bitmap non è nullo, Devo usare Glide per impostare l'immagine Bitmap in ImageView invece di impostarla direttamente. –
Il motivo è perché sto caricando molte immagini, che richiedono memoria nella cache. Capisci cosa intendo? –