Android DragImageView实现下拉拖动图片放大效果实现下拉拖动图片放大效果
DragImageView下拉拖动图片放大,先上图:
主要的类:继承了RelativeLayout,再在RelativeLayout里面添加ImageView,通过Touch事件来改变ImageView的缩放,缩放
时计算scale,使其在手指移动到屏幕底部时,图片底部也刚好到达屏幕底部,手指松开时,图片逐步回弹。
package com.example.dragimagescale;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.graphics.PointF;
import android.os.Handler;
import android.os.Message;
import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.MotionEvent;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.RelativeLayout;
public class DragScaleImageView extends RelativeLayout {
private String TAG = "DragScaleImageView";
private static final int BACK_SCALE = 1010;
private Context mContext;
private AttributeSet attrs;
private int displayWidth = 0;
private int displayHeight = 0;
private int mImageId;
private Bitmap bmp;
private ImageView imageView;
/** 是否处在回弹状态 */