展开全部
几个重要知识点:
1、布局文件中android:scaleType="matrix" 设置图片32313133353236313431303231363533e58685e5aeb931333337393439动态缩放
2、matrix.postTranslate(dx,dy); 平移图片 matrix.postScale(sx,sy,p.x,p.y); 缩放图片
3、两点的中点、距离计算方式,限制缩放范围函数,在指定区域内移动图片方法
示例public class Main extends Activity
{
private static final int NONE = 0;
private static final int DRAG = 1;
private static final int ZOOM = 2;
private int mode = NONE;
private float oldDist;
private Matrix matrix = new Matrix();
private Matrix savedMatrix = new Matrix();
private PointF start = new PointF();
private PointF mid = new PointF();
ImageView view;
Bitmap bitmap;
DisplayMetrics dm;
float minScaleR=0.1f; //最少缩放比例
static final float MAX_SCALE = 4f; //最大缩放比例
float dist = 1f;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
view = (ImageView) findViewById(R.id.image_view);
bitmap = BitmapFactory.decodeResource(