ImageView内容从另一个ImageView加载到另一ImageView
问题描述:
如果有可能将ImageView写入另一个ImageView?ImageView内容从另一个ImageView加载到另一ImageView
例如:
ImageView image1= (ImageView)findByVie(R.id.image1)
ImageView image2= (ImageView)findByVie(R.id.image2)
Glide.with(context).load(url).into(image1);
image2=image1
// I want to write image from image 1
//to image 2 without loading it again from internet.
答
使用此:
ImageView image1 = (ImageView)findViewById(R.id.image1);
ImageView image2 = (ImageView)findViewById(R.id.image2);
Glide.with(context).load(url).into(image1);
image2.setImageDrawable(image1.getDrawable();
然而,随着路滑翔的作品,它缓存它已经加载,以便再次调用Glide.with(context).load(url).into(image2);
只会加载镜像图像从缓存中,而不是从远程服务器再次。
编辑:
如果你打电话getDrawable
调用滑翔那么它将无法工作后伸直,因为滑翔仍获取图像,从而使第一ImageView的仍然是空的。你需要把你的使用滑翔从URL加载图像时使用,以滑翔的回调,以确保已经加载了调用getDrawable
Glide.with(context).load(url).listener(new RequestListener).into(image1);
答
Bitmap bm=((BitmapDrawable)imageView1.getDrawable()).getBitmap();
imgview2.setImageBitmap(bm);
答
之前。 Glide将使用它的缓存为第二个imageview加载图像,它不会使用互联网在第二个imageview中加载相同的图像。
您也可以使用下面的方法来肯定
Glide.with(this).load("url").into(new SimpleTarget<GlideDrawable>() {
@Override
public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) {
image1.setImageDrawable(resource);
image2.setImageDrawable(resource);
}
});
image2.setImageDrawable(image1.getDrawable()一次加载图像。我想这种方式,图像是空的好,我想到了缓存机制我不确定滑动如何处理它 – Expiredmind
你需要在图像加载后调用它,在分钟时如果你打电话给Glide,则会告诉Glide获取图像,并在图像加载之前填充第二个图像视图。 (上下文).load(url).listener(new RequestListener).into(image1)然后在回调中添加getDrawable代码,然后它应该工作 – MichaelStoddart