在纵向模式下将 zxing 设置为 运行

Getting zxing to run in portrait mode

我正在尝试使用 zxing 在我的应用程序中获取二维码 reader,而无需安装其他应用程序。但是不能竖屏显示。

我在 stack overflow 和其他网站的负载中读到了这个,但我的情况仍然存在这个问题。

基本上每个人都说这是解决方案:

https://gist.github.com/border/7577978

但我唯一得到的是 activity 仍然是横向的,但是矩形现在变小了(纵向尺寸)并且相机变得很奇怪,因为图像旋转了 90 度并移动了当我向左移动 phone 时向下,向右移动 phone 时向上移动。

有人说你需要删除支票:

    if    (width > height) {
  Log.i(TAG, "Display reports portrait orientation; assuming this is incorrect");
  int temp = width;
  width = height;
  height = temp;
}

在 CameraConfigurationManager.java 但那个支票已经不存在了:

CameraConfigurationManager.java

您可以按照 the link 中的说明在您的应用程序中设置 ZXing。如果没有,您可以将 ZXing 库下载到您的计算机并将其添加到 libs 文件夹中。 之后,您可以在您的应用程序中以纵向模式使用 ZXing 或使用 CompoundBarcodeView 将其设置为 layout

请参考my project。我正在为此使用 ZXing。希望对您有所帮助!

试试这个

如果您使用此库(编译 'com.journeyapps:zxing-android-embedded:3.5.0')获取 QR 码,只需将此行添加到您的 manifest 文件.

  <activity
        android:name="com.journeyapps.barcodescanner.CaptureActivity"
        android:screenOrientation="portrait"
        tools:replace="screenOrientation" />