双击ImageView,需要保持图片点击点相对布局的位置不变,然后放大图片,因为项目大量的ImageView都需要这个功能,所以扩展了ImageView。主要是: 1.扩展ImageView类 2.重写手势控制类GestureDetector.SimpleOnGestureListener 中的onDoubleTap()方法 3.利用Matrix进行放大和平移图片 详细代码如下,有详细注释:
//扩展ImageView类
public class ScaleImageView extends ImageView{
private Drawable nullDrawable;
//定义手势控制类
private GestureDetectorCompat mDetector;
private float initX,initY;
private Matrix matrix;
private float defaultScale = 1.0f;
private float preScaleX = 1.0f,preScaleY = 1.0f;
public LocalImageView(Context context) {
super(context);
}
public ScaleImageView (Context context, AttributeSet attrs) {
super(context, attrs);
init(context, attrs);
}
public ScaleImageView (Context context, AttributeSet attrs, int defStyleAttr) {
su
|