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;
	}


相关文章
|
5月前
|
编解码 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)1
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)
292 1
|
5月前
|
编解码 开发工具 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
337 2
|
5月前
|
缓存 Java Android开发
Android 9.0 WiFi 扫描结果上报和获取流程
Android 9.0 WiFi 扫描结果上报和获取流程
250 0
|
5月前
|
Android开发 网络架构
【Android App】检查手机连接WiFi信息以及扫描周围WiFi的讲解及实战(附源码和演示 超详细必看)
【Android App】检查手机连接WiFi信息以及扫描周围WiFi的讲解及实战(附源码和演示 超详细必看)
821 1
|
5月前
|
物联网 Android开发
Android Ble蓝牙App(七)扫描过滤
Android Ble蓝牙App(七)扫描过滤
152 0
|
5月前
|
物联网 API Android开发
Android Ble蓝牙App(一)扫描(下)
Android Ble蓝牙App(一)扫描(下)
140 0
|
5月前
|
XML 物联网 Android开发
Android Ble蓝牙App(一)扫描(上)
Android Ble蓝牙App(一)扫描(上)
174 0
|
5月前
|
算法 Android开发
【Android App】二维码的讲解及生成属于自己的二维码实战(附源码和演示 超详细必看)
【Android App】二维码的讲解及生成属于自己的二维码实战(附源码和演示 超详细必看)
164 0
|
5月前
|
物联网 Android开发
【Android App】低功耗蓝牙中扫描BLE设备的讲解及实战(附源码和演示 超详细)
【Android App】低功耗蓝牙中扫描BLE设备的讲解及实战(附源码和演示 超详细)
554 0
|
编解码 Android开发
Android平台GB28181设备接入模块分辨率发生变化怎么办?
我们在做Android平台gb28181设备接入模块的时候,遇到这样的情况,比如横竖屏分辨率不锁定,采集摄像头的时候,可以实现,横屏状态采集横屏,竖屏状态采集竖屏,简单来说,横屏状态比如采集的1280*720的,竖屏状态,采集的数据源成了720*1280。