首页 > 学院 > 开发设计 > 正文

ImageView ImageView随手势变化 动态缩放

2019-11-09 16:38:56
字体:
来源:转载
供稿:网友

今天做了一个功能需要在一个页面上显示一个流程图,因为这个流程图本身比较大,显示在页面上之后,我们并不能清楚的看清里面的字,这时候就要我们可以通过缩放来查看流程图,想到就给原来的ImageView的添加缩放,之前就写过类似的代码,不想再写了就打算在网上找找,果然找到了一位网友的,他对ImageView继承,重写了onTouchEvent,实现了缩放,我就使用的网友的代码,可以使用到的时候发现,由于需要设置android:scaleType=”matrix”,这样在流程图刚开始就是放大的效果,很不好看,怎么解决这个问题,我想在布局文件中,我们不能设置scaleType,应该在onTouchEvent 中去设置,这样我们刚进去就不会有缩放的效果,测试发现,这个问题解决了,下面是我在网友代码的基础上添加的代码:

case MotionEvent.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>10){ matrix.set(savedMatrix); float scale=newDist/oldDist; matrix.postScale(scale, scale, mid.x, mid.y); } } break; } setScaleType(ImageView.ScaleType.MATRIX); setImageMatrix(matrix); return true;

在解决上面的问题中,查看了这二个博客的内容,在这里对二位表示感谢,下面给出链接: 可缩放的 Imageview

scaleType 的属性的文章:scaleType


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表