android 4.2 camera gallery2,Android Gallery2 修改双击、手势放大的最大倍数

Gallery2,android原生的图库

图库中图片缩放有两种方式:1.双击放大,2.双指手势放大。

下面说一下修改这里的最大放大倍数。

例子是:修改放大倍数为3倍,照片放到最大后的伸缩范围0.5。

分开两种情况:截图和照片。这两种是不同的缩放倍数,需要两个都进行修改。

截图

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

public class PhotoView extends GLView implements PlayEngine.OnFrameAvailableListener {

//省略代码

@Override

public boolean onDoubleTap(float x, float y) {

if (mIgnoreScalingGesture) return true;

if (mIgnoreSwipingGesture) return true;

if (mPictures.get(0).isCamera()) return false;

PositionController controller = mPositionController;

float scale = controller.getImageScale();

// onDoubleTap happened on the second ACTION_DOWN.

// We need to ignore the next UP event.

mIgnoreUpEvent = true;

if (scale <= .75f || controller.isAtMinimalScale()) {

/// M: [BUG.MODIFY] A black area show at the right side of picture.@{

/* controller.zoomIn(x, y, Math.max(1.0f, scale * 1.5f)); */

//modified by xx start

//1.5最小放大倍数为1.5倍

//scale * 1.5 这是当前获取到,按照大约是1.5倍进行放大,scale的值接近1。4.0f限制的最大放大倍数。

//controller.zoomIn(x, y, Math.max(1.5f, Math.min(scale * 1.5f, 4.0f)));

//这里修改为最大放大倍数为3倍,双击、手势都是3倍。

controller.zoomIn(x, y, Math.max(1.5f, Math.min(scale * 3f, 3.0f)));

//modified by xx end

/// @}

} else {

controller.resetToFullView();

}

return true;

}

}

}

照片

照片的需要修改两个地方,一个是配置最大的放大倍数,另外一个是放大到了最大倍数的数据,手势进行再放大的时候,有一个伸缩的范围,放开,就恢复成最大放大倍数。

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

public class PositionController {

// We try to scale up the image to fill the screen. But in order not to

// scale too much for small icons, we limit the max up-scaling factor here.

private static final float SCALE_LIMIT = 3;//最大放大倍数的配置,设置为3倍

private float getMaximalScale(Box b) {

if (mFilmMode) return getMinimalScale(b);

if (mConstrained && !mConstrainedFrame.isEmpty()) return getMinimalScale(b);

return 0.5f;//配置放大最大倍数后,手势再拉伸的放大倍数,倍数为0.5

}

}

就修改上面三个地方就可以了,由于之前在网上找不到具体的修改方式,这一部分也是刚刚接触,看以前的人修改,修改了很多个地方,都不知道哪个是哪个,都不知道是不是瞎改...

跟着瞎改是一件很难受的事,所以还是先理清,再进行准确的修改,这个也便于自己的提升吧。

谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值