需求:1.扫描界面不全屏。2.识别一次后不跳转,继续识别。
如何设置竖屏扫描,和调节全屏的扫描区域在此不再讲解,网上有一大堆教程。
扫描界面不全屏
比如扫描界面有Toolbar,或者底部有选项卡的如何处理?
CameraConfigurationManager.initFromCameraParameters()方法默认会根据全屏的宽高来计算相机扫描区域的位置,只需修改此方法和CameraManager.openDriver()的入参,把SurfaceView的父容器当作参数传入。同时修改CameraConfigurationManager.initFromCameraParameters()中计算screenResolution的代码为
screenResolution = new Point(scanArea.getWidth(), scanArea.getHeight());
这样识别区域就调整到SurfaceView父容器正中了。当然,画扫描框的代码还是需要修改的。
识别一次后不跳转,继续识别。
修改实现扫描界面的Activity和Fragment中的handleDecode()方法,注释掉inactivityTimer.onActivity(),然后把 CaptureActivityHandler.restartPreviewAndDecode()修改为pulibc,在handleDecode()方法最后添加如下代码:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
CameraManager.get().startPreview();
handler.restartPreviewAndDecode();
}
}, 5000);
}
其中handler为CaptureActivityHandler的对象。
本文详细介绍了如何调整扫描界面使其不全屏,并在识别一次后不进行跳转,继续进行识别操作的方法。通过修改特定方法和参数,开发者可以灵活配置扫描区域,提升用户体验。

9244

被折叠的 条评论
为什么被折叠?



