package com.bwie.view; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.PorterDuffXfermode; import android.graphics.Rect; import android.graphics.Bitmap.Config; import android.graphics.PorterDuff.Mode; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.FloatMath; import android.view.MotionEvent; import android.view.animation.TranslateAnimation; import android.widget.ImageView; /** * 继承ImageView 实现了多点触碰的拖动和缩放 * @author lihua */ public class TouchView extends ImageView { private Paint p; static final int NONE = 0; static final int DRAG = 1; //拖动中 static final int ZOOM = 2; //缩放中 static final int BIGGER = 3; //放大ing static final int SMALLER = 4; //缩小ing private int mode = NONE; //当前的事件 private float beforeLenght; //两触点距离 private float afterLenght; //两触点距离 private float scale = 0.04f; //缩放的比例 X Y方向都是这个值 越大缩放的越快 private int screenW; private int screenH; /*处理拖动 变量 */ private
自定义圆形图片实现多点触控放大缩小和拖动
最新推荐文章于 2023-10-24 15:56:17 发布
本文详细介绍了如何在Android开发中创建一个自定义视图,实现圆形图片并支持多点触控进行图片的放大、缩小和拖动操作。通过覆盖onTouchEvent()方法,结合MotionEvent的ACTION_DOWN、ACTION_MOVE和ACTION_UP等事件,应用矩阵变换来完成手势识别和图像变换。这对于创建交互式的图像查看应用非常有用。
摘要由CSDN通过智能技术生成