Android中Zxing扫描二维码

需求:1.扫描界面不全屏。2.识别一次后不跳转,继续识别。

如何设置竖屏扫描,和调节全屏的扫描区域在此不再讲解,网上有一大堆教程。

扫描界面不全屏

比如扫描界面有Toolbar,或者底部有选项卡的如何处理?
CameraConfigurationManager.initFromCameraParameters()方法默认会根据全屏的宽高来计算相机扫描区域的位置,只需修改此方法和CameraManager.openDriver()的入参,把SurfaceView的父容器当作参数传入。同时修改CameraConfigurationManager.initFromCameraParameters()中计算screenResolution的代码为

screenResolution = new Point(scanArea.getWidth(), scanArea.getHeight());

这样识别区域就调整到SurfaceView父容器正中了。当然,画扫描框的代码还是需要修改的。

识别一次后不跳转,继续识别。

修改实现扫描界面的ActivityFragment中的handleDecode()方法,注释掉inactivityTimer.onActivity(),然后把 CaptureActivityHandler.restartPreviewAndDecode()修改为pulibc,在handleDecode()方法最后添加如下代码:

new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                CameraManager.get().startPreview();
                handler.restartPreviewAndDecode();
            }
        }, 5000);
    }

其中handlerCaptureActivityHandler的对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值