Android项目实战(四十四):Zxing二维码切换横屏扫描
Demo链接
默认是竖屏扫描,但是当我们在清单文件中配置横屏显示的时候:
<activity android:name=".CaptureActivity" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
这时候扫描,会发现扫描效果变形,方向不对。
可按以下步骤进行修改:
1、修改CameraConfigurationManager.java中的setDesiredCameraParameters函数,
camera.setDisplayOrientation(90); ---> camera.setDisplayOrientation(0);
2、修改CameraManager.java的getFramingRectInPreview()函数中修改成如下,即将x改为y , y改为x
rect.left = rect.left * cameraResolution.x / screenResolution.x; rect.right = rect.right * cameraResolution.x / screenResolution.x; rect.top = rect.top * cameraResolution.y / screenResolution.y; rect.bottom = rect.bottom * cameraResolution.y / screenResolution.y;
3、修改DecodeHandler.java中的decode函数
4、其它可修改部分参照Github Demo
可设置的: 扫描框中的中间线的宽度 扫描框中的中间线的与扫描框左右的间隙 中间那条线每次刷新移动的距离 四个绿色边角对应的长度 、 宽度、颜色 、透明度 中间滑动线的最顶端位置 、 最低端位置 扫描线 是一张图片 遮挡层颜色 , 正方形之外的 区域的颜色 闪点颜色 其他功能: 闪光灯开启 从本地获取图片读取二维码 当前xxx时间内没有扫描 , 关闭当前扫描二维码界面