PhotoView源码初始化BUG修复
来源:互联网 发布:房产端口是什么意思 编辑:程序博客网 时间:2024/04/30 18:47
源码地址:https://github.com/chrisbanes/PhotoView/
PhotoView 图片初始化完成之后,单指不停的滑动图片,会发现图片出现放大
此BUG在首次单指滑动的情况下出现,仅仅修改首次单指滑动监听
现在项目已经不在考虑API <14,所以仅仅改动以下监听
在监听之前,判断是否是双指的,如果是双指,则添加OnTouch监听
如果是单指操作,则不监听操作
首次单指不做缩放监听,其余不变
if(ev.getPointerCount() > 1){
mDetector.onTouchEvent(ev);
isSingleTouch = true;
}else if(isSingleTouch){
mDetector.onTouchEvent(ev);
}
@TargetApi(8)public class FroyoGestureDetector extends EclairGestureDetector { protected final ScaleGestureDetector mDetector; private Boolean isSingleTouch = false; public FroyoGestureDetector(Context context) { super(context); ScaleGestureDetector.OnScaleGestureListener mScaleListener = new ScaleGestureDetector.OnScaleGestureListener() { @Override public boolean onScale(ScaleGestureDetector detector) { float scaleFactor = detector.getScaleFactor(); if (Float.isNaN(scaleFactor) || Float.isInfinite(scaleFactor)) return false; mListener.onScale(scaleFactor, detector.getFocusX(), detector.getFocusY()); return true; } @Override public boolean onScaleBegin(ScaleGestureDetector detector) { return true; } @Override public void onScaleEnd(ScaleGestureDetector detector) { // NO-OP } }; mDetector = new ScaleGestureDetector(context, mScaleListener); } @Override public boolean isScaling() { return mDetector.isInProgress(); } @Override public boolean onTouchEvent(MotionEvent ev) { try { if(ev.getPointerCount() > 1){ isSingleTouch = true; mDetector.onTouchEvent(ev); }else if(isSingleTouch){ mDetector.onTouchEvent(ev); } return super.onTouchEvent(ev); } catch (IllegalArgumentException e) { // Fix for support lib bug, happening when onDestroy is return true; } }}
0 0
- PhotoView源码初始化BUG修复
- SnackBar 源码bug修复、源码解析
- PhotoView 源码解析
- PhotoView 源码解析
- PhotoView 源码解析
- PhotoView 源码解析
- PhotoView 源码解读
- PhotoView 源码解析
- BUG修复
- Bug 修复
- Bug修复
- bug修复
- Alibaba-AndFix Bug热修复框架原理及源码解析
- Alibaba-AndFix Bug热修复框架原理及源码解析
- AndFix Bug热修复框架原理及源码解析
- AndFix Bug热修复框架原理及源码解析
- php源码阅读----php5.3.27 mysqli扩展bug及修复
- bug和bug修复
- leetcode-33. Search in Rotated Sorted Array
- Bootstrap3 排版-列表
- [绍棠] 播放器检测系统音量键调节音量的变化并自定义音量界面
- iOS nil 的小说明
- 多个checkbook默认选中
- PhotoView源码初始化BUG修复
- github添加ssh key的时候报错:Key is invalid. Ensure you've copied the file correctly
- eclipse程序正确但是cannot be resolved to a type
- 通过unix系统底层获取和系统相关的硬件信息(cpu、内存)
- 关于git的一些常用命令
- MySQL数据库备份脚本
- 碰撞检测一重奏——长方体碰撞检测
- Android NDK, Revision 13b (October 2016)
- codeforce #381 ABC题解