双指拖动缩放图片
来源:互联网 发布:淘宝网阿里旺旺打不开 编辑:程序博客网 时间:2024/05/21 16:20
iv = (ImageView) findViewById(R.id.iv);
iv.setOnTouchListener(new MulitPointTouchListener(iv));
iv.setScaleType(ScaleType.CENTER_INSIDE);
实现大图滚动显示
http://www.eoeandroid.com/code/2012/0802/2000.html
Muilti-touch 双指缩放文字
使用:
textView = (TextView) findViewById(R.id.textView);
textView.setOnTouchListener(new ZoomListenter());
Android单点触控技术,对图片进行平移,缩放,旋转操作
http://blog.csdn.net/xiaanming/article/details/42833893
iv.setOnTouchListener(new MulitPointTouchListener(iv));
iv.setScaleType(ScaleType.CENTER_INSIDE);
public class MulitPointTouchListener implements OnTouchListener {Matrix matrix = new Matrix();Matrix savedMatrix = new Matrix();public ImageView image;static final int NONE = 0;static final int DRAG = 1;static final int ZOOM = 2;int mode = NONE;PointF start = new PointF();PointF mid = new PointF();float oldDist = 1f;public MulitPointTouchListener(ImageView image) {super();this.image = image;}@Overridepublic boolean onTouch(View v, MotionEvent event) {this.image.setScaleType(ScaleType.MATRIX);ImageView view = (ImageView) v;// dumpEvent(event);switch (event.getAction() & MotionEvent.ACTION_MASK) {case MotionEvent.ACTION_DOWN:Log.w("FLAG", "ACTION_DOWN");matrix.set(view.getImageMatrix());savedMatrix.set(matrix);start.set(event.getX(), event.getY());mode = DRAG;break;case MotionEvent.ACTION_POINTER_DOWN:Log.w("FLAG", "ACTION_POINTER_DOWN");oldDist = spacing(event);if (oldDist > 10f) {savedMatrix.set(matrix);midPoint(mid, event);mode = ZOOM;}break;case MotionEvent.ACTION_UP:Log.w("FLAG", "ACTION_UP");case MotionEvent.ACTION_POINTER_UP:Log.w("FLAG", "ACTION_POINTER_UP");mode = NONE;break;case MotionEvent.ACTION_MOVE:Log.w("FLAG", "ACTION_MOVE");if (mode == DRAG) {matrix.set(savedMatrix);matrix.postTranslate(event.getX() - start.x, event.getY()- start.y);} else if (mode == ZOOM) {float newDist = spacing(event);if (newDist > 10f) {matrix.set(savedMatrix);float scale = newDist / oldDist;matrix.postScale(scale, scale, mid.x, mid.y);}}break;}view.setImageMatrix(matrix);return true;}private float spacing(MotionEvent event) {float x = event.getX(0) - event.getX(1);float y = event.getY(0) - event.getY(1);return FloatMath.sqrt(x * x + y * y);}private void midPoint(PointF point, MotionEvent event) {float x = event.getX(0) + event.getX(1);float y = event.getY(0) + event.getY(1);point.set(x / 2, y / 2);}}
实现大图滚动显示
http://www.eoeandroid.com/code/2012/0802/2000.html
Muilti-touch 双指缩放文字
import android.util.FloatMath;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;import android.widget.TextView;public class ZoomListenter implements OnTouchListener {private int mode = 0;float oldDist;float textSize = 0;TextView textView = null;@Overridepublic boolean onTouch(View v, MotionEvent event) {textView = (TextView) v;if (textSize == 0) {textSize = textView.getTextSize();}switch (event.getAction() & MotionEvent.ACTION_MASK) {case MotionEvent.ACTION_DOWN:mode = 1;break;case MotionEvent.ACTION_UP:mode = 0;break;case MotionEvent.ACTION_POINTER_UP:mode -= 1;break;case MotionEvent.ACTION_POINTER_DOWN:oldDist = spacing(event);mode += 1;break;case MotionEvent.ACTION_MOVE:if (mode >= 2) {float newDist = spacing(event);if (newDist > oldDist + 1) {zoom(newDist / oldDist);oldDist = newDist;}if (newDist < oldDist - 1) {zoom(newDist / oldDist);oldDist = newDist;}}break;}return true;}private void zoom(float f) {textView.setTextSize(textSize *= f);}private float spacing(MotionEvent event) {float x = event.getX(0) - event.getX(1);float y = event.getY(0) - event.getY(1);return FloatMath.sqrt(x * x + y * y);}}
使用:
textView = (TextView) findViewById(R.id.textView);
textView.setOnTouchListener(new ZoomListenter());
Android单点触控技术,对图片进行平移,缩放,旋转操作
http://blog.csdn.net/xiaanming/article/details/42833893
0 0
- 双指拖动缩放图片
- 单指拖动、双指缩放图片
- Android手势:单指拖动、双指缩放图片
- Android手势:单指拖动、双指缩放图片
- jquery 图片缩放拖动
- android点击图片缩放、拖动
- c# 鼠标拖动缩放图片
- Android的图片缩放、拖动
- 图片的拉伸缩放拖动
- 图片拖动旋转缩放裁剪
- Unity3D IOS 图片缩放 拖动
- Android 利用Canvas实现双指拖动和双指缩放图片
- Android 利用Canvas实现双指拖动和双指缩放图片(二)-图片拖出边界检测
- 用Swing处理图片缩放和拖动!!!
- C# 处理图片拖动和缩放功能
- android开发-图片缩放,拖动功能实现。
- surfaceView实现图片缩放拖动功能
- Android小应用----图片的拖动、缩放
- 仿人人网右边可推出的效果(带拖动)
- 自动换行的ViewGroup:FlowLayout
- Android实现推送PushService通知Notification
- 图片下载工具类:BitmapUtil
- android 再按一次后退键退出应用程序
- 双指拖动缩放图片
- 使用FileObserver对sdcard文件或文件夹监控
- 在ViewFlipper中使用Rotate3dAnimation旋转切换界面效果
- 初识QT2
- 3518: 点组计数
- Android 数据库打包随APK发布
- 高并发高可用的 架构实践
- 使用Service和BroadcastReceiver实时监听网络状态
- Android-20170410