photoview拖拽和缩放
来源:互联网 发布:搞笑视频软件下载 编辑:程序博客网 时间:2024/06/02 07:01
package com.bwie.photoview;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.MotionEvent;import com.github.chrisbanes.photoview.PhotoView;public class MainActivity extends AppCompatActivity { private PhotoView photo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); photo = (PhotoView) findViewById(R.id.photoview); } @Override public boolean dispatchTouchEvent(MotionEvent ev) {// 调用自己定义的OnTouchEvent方法 onTouchEvent(ev); return true; } //手指按下的位置 float downX; float downY; //手指按下的上一次的位置 float lastX; float lastY; // 判断是否可以移动 boolean canMove; //判断是单指触摸还是多指触摸 boolean isMorePoint; @Override public boolean onTouchEvent(MotionEvent event) { super.onTouchEvent(event);//接收多指触控需要用 event.getAction() & MotionEvent.ACTION_MASK 来获得当前的触摸事件 switch (event.getAction() & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: //设置手指按下的位置 downX = event.getX(); downY = event.getY(); //把按下的位置设置到上一次的位置,因为上一次没有值,设置成默认值 lastX = downX; lastY = downY; //判断当前点的位置是否是在图片内 if (downX > photo.getX() && downX < photo.getX() + photo.getWidth() && downY > photo.getY() && downY < photo.getY() + photo.getHeight()) { canMove = true; } else { canMove = false; } break; case MotionEvent.ACTION_MOVE:// 得到当前手指触摸的位置 float x = event.getX(); float y = event.getY();// 计算手指移动的距离 float nowX = x - lastX; float nowY = y - lastY; //如果可以移动的话就重新给图片的xy设置值 if (canMove) {// 判断是多指触摸还是单指触摸 if (isMorePoint) {//多指触摸的时候交给PhotoView去处理,可以放大缩小 photo.dispatchTouchEvent(event); } else {//单指触摸 photo.setX(photo.getX() + nowX); photo.setY(photo.getY() + nowY); } } //然后重新设置当前的位置给lastX和lastY的位置 lastX = event.getX(); lastY = event.getY(); break; case MotionEvent.ACTION_POINTER_DOWN://多指触摸按下 isMorePoint = true; break; case MotionEvent.ACTION_POINTER_UP://多指触摸抬起 isMorePoint = false; break; } return true; }}
阅读全文
0 0
- photoview拖拽和缩放
- photoView的缩放和拖拽
- photoView连续缩放报错问题(其实PhotoView和viewPager冲突问题)
- 图片缩放库 Photoview 和 Gif 控件 GifView 的使用
- 图片缩放库 Photoview 和 Gif 控件GifView 的使用
- PhotoView 图片缩放框架
- PhotoView ImageView缩放
- PhotoView 图片缩放功能
- photoview-library 图片的缩放
- Android图片缩放框架PhotoView
- PhotoView 图片浏览缩放控件
- PhotoView 图片浏览缩放控件
- PhotoView 图片浏览缩放控件
- Android图片缩放库 Photoview 和 Gif 控件GifView 的使用
- viewPager+photoView实现图片轮播和手势缩放功能 支持手势缩放的imageView 如何实现相册左右滑动和手势缩放 如何让图片自适应控件大小 photoView如何使用(上)
- Android使用PhotoView实现图片缩放功能
- Android使用PhotoView实现图片缩放功能
- android photoview 图片放大缩放功能 ImageView
- jQuery ajax提交请求,springmvc控制层接收参数示例以及HTTP请求中Content-Type介绍
- HorizonScrollView完成头部滑动
- CSS:子对父的margain-top失效
- 排序
- Shortest Prefixes
- photoview拖拽和缩放
- Python学习(5)
- 技术路线的核心竞争力
- 重复值判断
- 递增数列最长(dp)
- spring boot之集成页面
- 模拟登陆豆瓣,发帖和回复code
- 使用Filter处理web中的表单提交过程中的中文问题
- Java 线程 50个Java多线程面试题