导入moudle ,
implementation 'com.ycjiang:imgepreviewlibrary:1.1.3'
然后在图片点击事件添加以下代码
Intent intent = new Intent(WXJiLuDetailActivity.this, EnlargeImageDetailActivity.class);
intent.putExtra(CommonUtils.SpaceImageDetail.IMAGEURL, HttpConfig.IMG_URL + "/" + imglist.get(position));//传入 图片的URL
int[] location = new int[2];
view.getLocationOnScreen(location);//view 就是所点击的ImageView
intent.putExtra(CommonUtils.SpaceImageDetail.LOCATIONX, location[0]);
intent.putExtra(CommonUtils.SpaceImageDetail.LOCATIONY, location[1]);
intent.putExtra(CommonUtils.SpaceImageDetail.WIDTH, view.getWidth());
intent.putExtra(CommonUtils.SpaceImageDetail.HEIGHT, view.getHeight());
startActivity(intent);
overridePendingTransition(0, 0);
package com.luchongbin.enlarge.myenlarge;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView.ScaleType;
import com.bumptech.glide.Glide;
/**
* Created by luchongbin on 2018/11/5/005.
*/
public class EnlargeImageDetailActivity extends Activity implements View.OnClickListener, EnlargeImageView.TransformListener {
private EnlargeImageView imageView = null;
private String imageUrl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent mIntent = getIntent();
imageUrl = mIntent.getStringExtra(CommonUtils.SpaceImageDetail.IMAGEURL);
int mLocationX = mIntent.getIntExtra(CommonUtils.SpaceImageDetail.LOCATIONX, 0);
int mLocationY = mIntent.getIntExtra(CommonUtils.SpaceImageDetail.LOCATIONY, 0);
int mWidth = mIntent.getIntExtra(CommonUtils.SpaceImageDetail.WIDTH, 0);
int mHeight = mIntent.getIntExtra(CommonUtils.SpaceImageDetail.HEIGHT, 0);
imageView = new EnlargeImageView(this);
imageView.setOriginalInfo(mWidth, mHeight, mLocationX, mLocationY);
imageView.transformIn();
imageView.setLayoutParams(new ViewGroup.LayoutParams(-1, -1));
imageView.setScaleType(ScaleType.FIT_CENTER);
setContentView(imageView);
initData(imageUrl);
setListener();
}
private void initData(String imageUrl){
Glide.with(this)
.load(imageUrl)
.into(imageView);
}
private void setListener(){
imageView.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if(view.getId()==imageView.getId()){
onBackPressed();
}
}
@Override
public void onTransformComplete(int mode) {
if (mode == 2) {
finish();
}
}
@Override
public void onBackPressed() {
imageView.setOnTransformListener(this);
imageView.transformOut();
}
@Override
protected void onPause() {
super.onPause();
if (isFinishing()) {
overridePendingTransition(0, 0);
}
}
}
public class CommonUtils {
public static class SpaceImageDetail{
public static final String IMAGEURL = "imageUrl";
public static final String LOCATIONX = "locationX";
public static final String LOCATIONY = "locationY";
public static final String WIDTH = "width";
public static final String HEIGHT = "height";
}
网友评论