Android平台手机图片浏览软件的开发实现(13)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

Android平台手机图片浏览软件的开发实现(13)


当图片处于浏览时,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)