Android zxing二维码扫描适应各种分辨率

在使用zxing二维码时,发现有时候出现拉伸的现象,不能很好的适应各种分辨率,经过测试,只要在 CameraManager.java中,修改一下如下方法即可,代码如下:
public synchronized Rect getFramingRect() {
		if (framingRect == null) {
			if (camera == null) {
				return null;
			}
			Point screenResolution = configManager.getScreenResolution();
			if (screenResolution == null) {
				// Called early, before init even finished
				return null;
			}

			// int width = findDesiredDimensionInRange(screenResolution.x,
			// MIN_FRAME_WIDTH, MAX_FRAME_WIDTH);
			// int height = findDesiredDimensionInRange(screenResolution.y,
			// MIN_FRAME_HEIGHT, MAX_FRAME_HEIGHT);

			/* 扫描框修改 */
			DisplayMetrics metrics = context.getResources().getDisplayMetrics();
			int width = (int) (metrics.widthPixels * 0.6);
			int height = (int) (width * 0.9);

			int leftOffset = (screenResolution.x - width) / 2;
			int topOffset = (screenResolution.y - height) / 4;
			framingRect = new Rect(leftOffset, topOffset, leftOffset + width,
					topOffset + height);
			Log.d(TAG, "Calculated framing rect: " + framingRect);
		}
		return framingRect;
	}

转自:http://blog.csdn.net/jdsjlzx/article/details/46429043

Android学习交流群:523487222

(如果您觉得有用,欢迎加入,一起学习进步)
点击链接加入群【Android学习群】


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值