Android源码开发之Gallery图片放大倍数

来源:互联网 发布:去眼袋方法知乎 编辑:程序博客网 时间:2024/04/29 14:04

最近遇到一个客户提出的奇葩需求,要求照片无论滑动还是双击,其最大放大倍数都不超过1.5倍,双击的就不说了,很简单,mtkonlne上也有,手指滑动,放大倍数也要不超过1.5倍,查看代码

packages/apps/Gallery2/src/com/android/gallery3d/ui/PositionController.java  

private static final float SCALE_LIMIT = 4;

虽然改了这个最大限制值,但还是无济于事

我使了大招,在Gallery2/src/com/android/gallery3d/ui/PhotoView.java

 @Override
        public boolean onScale(float focusX, float focusY, float scale) {

  if (scale > 1.0f){ //表示放大,scale <0是缩小
            PositionController controller = mPositionController;
            float mscale = controller.getImageScale();
                    float zoomRate = controller.getSuggestLargerZoomRate();
Log.i("mode","zoomRate= "+zoomRate);
Log.i("mode",focusY+"-"+focusX+"="+(focusY-focusX));
Log.i("mode","scale="+scale);
Log.i("mode","isAtInitRate="+controller.isAtInitRate());
Log.i("mode","mFilmMode="+mFilmMode);
                    if (zoomRate > 0.7f && mscale >= zoomRate) {
                        return true;
                    }else if(zoomRate < 0.6f && mscale >= 0.4f){
                        return true;
}
 
}

这里zoomRate 表示长宽比,手机拍出来的,无非就是两种尺寸,4:3和16:9,可以打log看一下


0 0
原创粉丝点击