Saya tidak cukup paham dengan Glide, tetapi sepertinya jika Anda mengetahui ukuran target, Anda dapat menggunakan sesuatu seperti ini:
Bitmap theBitmap = Glide.
with(this).
load("http://....").
asBitmap().
into(100, 100). // Width and height
get();
Sepertinya Anda bisa lulus -1,-1, dan mendapatkan gambar ukuran penuh (murni berdasarkan tes, tidak bisa melihatnya didokumentasikan).
Note into(int,int)mengembalikan a FutureTarget<Bitmap>, jadi Anda harus membungkus ini dengan penutup blok coba-tangkap ExecutionExceptiondan InterruptedException. Berikut contoh implementasi yang lebih lengkap, diuji dan berfungsi:
class SomeActivity extends Activity {
private Bitmap theBitmap = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
final ImageView image = (ImageView) findViewById(R.id.imageView);
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
Looper.prepare();
try {
theBitmap = Glide.
with(SomeActivity.this).
load("https://www.google.es/images/srpr/logo11w.png").
asBitmap().
into(-1,-1).
get();
} catch (final ExecutionException e) {
Log.e(TAG, e.getMessage());
} catch (final InterruptedException e) {
Log.e(TAG, e.getMessage());
}
return null;
}
@Override
protected void onPostExecute(Void dummy) {
if (null != theBitmap) {
image.setImageBitmap(theBitmap);
Log.d(TAG, "Image loaded");
};
}
}.execute();
}
}
Mengikuti saran Monkeyless dalam komentar di bawah (dan ini tampaknya juga cara resmi ), Anda dapat menggunakan SimpleTarget, secara opsional digabungkan dengan override(int,int)untuk menyederhanakan kode secara signifikan. Namun, dalam kasus ini ukuran persisnya harus diberikan (apa pun di bawah 1 tidak diterima):
Glide
.with(getApplicationContext())
.load("https://www.google.es/images/srpr/logo11w.png")
.asBitmap()
.into(new SimpleTarget<Bitmap>(100,100) {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) {
image.setImageBitmap(resource);
}
});
seperti yang disarankan oleh @hennry jika Anda membutuhkan gambar yang sama, maka gunakannew SimpleTarget<Bitmap>()