您的位置:首页 > 移动开发 > Android开发

Android中Zxing扫描二维码

2015-11-10 14:55 381 查看
需求:1.扫描界面不全屏。2.识别一次后不跳转,继续识别。

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

扫描界面不全屏

比如扫描界面有
Toolbar
,或者底部有选项卡的如何处理?

CameraConfigurationManager.initFromCameraParameters()
方法默认会根据全屏的宽高来计算相机扫描区域的位置,只需修改此方法和
CameraManager.openDriver()
的入参,把
SurfaceView
的父容器当作参数传入。同时修改
CameraConfigurationManager.initFromCameraParameters()
中计算
screenResolution
的代码为

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


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

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

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

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


其中
handler
CaptureActivityHandler
的对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: