在网上搜到很多都是一样的版本,只有平移和缩放的功能。我在搜到的源代码基础上添加了旋转和边界检查的功能。
代码主要分两部分,一个activity一个view,代码如下:
- package com.example.touch;
- import android.app.Activity;
- import android.os.Bundle;
- public class TouchImageViewActivity extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- TouchImageView img = new TouchImageView(this);
- setContentView(img);
- }
- }
- package com.example.touch;
- import android.graphics.Bitmap;
- import android.graphics.Bitmap.Config;
- import android.graphics.BitmapFactory;
- import android.graphics.Canvas;
- import android.graphics.Matrix;
- import android.graphics.PointF;
- import android.util.DisplayMetrics;
- import android.util.FloatMath;
- import android.view.MotionEvent;
- import android.widget.ImageView;
- public class TouchImageView extends ImageView {
- float x_down = 0;
- float y_down = 0;
- PointF start =