gpt4 book ai didi

android - 如何在竖屏模式下使用 Zxing?

转载 作者:IT老高 更新时间:2023-10-28 23:02:27 30 4
gpt4 key购买 nike

目前 zxing 库仅支持横向模式。对于我的应用,我需要在纵向模式下使用

最佳答案

这是纵向模式扫描的解决方案

首先在您的应用级 gradle 文件中声明这两行

implementation 'com.journeyapps:zxing-android-embedded:3.0.1@aar'
implementation 'com.google.zxing:core:3.2.0'

在您的 xml 文件中定义一个按钮,并在按钮的 Onclick 监听器中在 MainActivity java 文件中编写以下代码

IntentIntegrator integrator = new IntentIntegrator(this);
integrator.setPrompt("Scan a barcode");
integrator.setCameraId(0); // Use a specific camera of the device
integrator.setOrientationLocked(true);
integrator.setBeepEnabled(true);
integrator.setCaptureActivity(CaptureActivityPortrait.class);
integrator.initiateScan();

在 onCreate() 方法之后在 MainActivity java 文件中编写以下代码

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if(result != null) {
if(result.getContents() == null) {
Log.d("MainActivity", "Cancelled scan");
Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show();
} else {
Log.d("MainActivity", "Scanned");
st_scanned_result = result.getContents();
Toast.makeText(this, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show();

}
}

}

然后创建一个名为 CaptureActivityPortrait 的类来扩展 CaptureActivity。该类如下所示

  package soAndSo(Your PackageName);

import com.journeyapps.barcodescanner.CaptureActivity;

public class CaptureActivityPortrait extends CaptureActivity {
}

最重要的是在 list 文件中声明您的 CaptureActivityPortrait,如下所示

<activity android:name=".CaptureActivityPortrait"
android:screenOrientation="sensorPortrait"
android:stateNotNeeded="true"
android:theme="@style/zxing_CaptureTheme"
android:windowSoftInputMode="stateAlwaysHidden"></activity>

关于android - 如何在竖屏模式下使用 Zxing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8007194/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com