首页 > 解决方案 > 使用budiyev扫描库锁定方向时如何在设备水平状态下扫描一维条码

问题描述

我正在开发一个扫描应用程序,我在其中扫描并生成二维码和条形码,一切正常,但是当移动方向被锁定时水平扫描一维条形码(配置更改不会发生),扫描仪不扫描一维条形码,但可以在垂直和水平状态下扫描二维码(我没有使用纵向和横向,因为这些是正确的术语,因为我需要在设备方向锁定时用户水平握住手机时扫描条形码)。

我正在使用的库:

 implementation 'com.google.zxing:core:3.2.1'
 implementation 'com.journeyapps:zxing-android-embedded:3.2.0@aar'
 implementation 'com.budiyev.android:code-scanner:2.1.0'

我的 XML:

<com.budiyev.android.codescanner.CodeScannerView
    android:id="@+id/scanner_view"
    android:layout_width="@dimen/scanner_view_width"
    android:layout_height="@dimen/scanner_view_height"
    app:flashButtonVisible="false"
    app:autoFocusButtonVisible="false"
    app:frameAspectRatioWidth="0.9"
    app:frameAspectRatioHeight="0.9"
    android:layout_gravity="center"
    android:background="@null"
    app:frameCornersSize="0dp"
    app:maskColor="@color/white"
    />

我的代码:

private var mCodeScanner: CodeScanner? = null
 val scannerView: CodeScannerView = view.findViewById(R.id.scanner_view)
     mCodeScanner = CodeScanner(activity!!, scannerView)

     mCodeScanner!!.decodeCallback = DecodeCallback { result ->
                    activity.runOnUiThread {
                        //Toast.makeText(activity, "" + result.text, Toast.LENGTH_SHORT).show()
                        // scannedTV.setText(result.getText());
                        val intent = Intent(activity, ScanResultActivity::class.java)
                        intent.putExtra("loadResult", result.text)
                        startActivity(intent)
                    }

库类: 用于扫描代码的库类

扫描仪视图的库类

您还可以在那里找到其余的库类和接口。如果我已将库作为模块导入但我不以正确的方式理解代码,是否需要修改库。我还在库问题部分中提到了 GitHub 上的问题,但没有回复,但任何帮助将不胜感激,在此先感谢您。

标签: javaandroidkotlinzxingbarcode-scanner

解决方案


推荐阅读