Android平台手机图片浏览软件的开发实现(13)
时间:2017-01-09 12:55 来源:毕业论文 作者:毕业论文 点击:次
当图片处于浏览时,GestureDetector处于监听状态,双击图片,通过getSelectedView获取当前图片,以双击点缩放图片,缩小状态下,判断图片适应屏幕比例,当比例大于0.5f,设置缩放比例为2.0f,否则,设置图片比例缩放比例为1.0f。调用BasaImageView的zoomTo方法。放大状态下,设置缩放比例为图片适应屏幕比例,调用zoomTo方法。 代码如下: public boolean onDoubleTap(MotionEvent e) { View view = MyGallery.this.getSelectedView(); float originalScl = imageView.getScale(); float scl = 1.0f / originalScl; if (view instanceof BasalImageView) { imageView = (BasalImageView) view; if (imageView.getScale() > imageView.getScaleRate()) { imageView.zoomTo(imageView.getScaleRate(), GalleryViewActivity.screenWidth / 2, GalleryViewActivity.screenHeight / 2, 200f); }else { if (imageView.getScaleRate() > 0.5f) { imageView.zoomTo(2.0f, e.getX(), e.getY()); }else { imageView.zoomTo(originalScl * scl, e.getX(), e.getY()); } } } return true; } } 图 3自适应屏幕尺寸和双击放大 (3) 双指滑动缩放图片 两根手指落下屏幕上之间的距离为基础值,滑动手指,滑动后手指之间的距离除以开始落下的距离的系数为缩放比例,正值为放大图片,负值为缩小图片。调用zoomTo方法。图片缩放参考点为落下的两根手指点对应的中间点。缩放后,滑动后的距离值赋给基础值,以此类推,当手指再次滑动时,将产生新的滑动后的手指间距,除以新的基础值,得到缩放比例。 代码如下: public boolean onTouch(View v, MotionEvent event) { View view = MyGallery.this.getSelectedView(); if (view instanceof BasalImageView) { imageView = (BasalImageView) view; if (event.getAction() == MotionEvent.ACTION_DOWN) { baseValue = 0; originalScale = imageView.getScale(); (责任编辑:qin) |