如何在使用ZXingScannerView时处理屏幕旋转?

时间:2017-07-12 04:46:44

标签: android camera qr-code screen-orientation

我有Activity使用ZXingScannerView扫描QR码。

OnCreate方法中,我生成如下视图:

    mScannerView = new ZXingScannerView(this) {
            @Override
            protected IViewFinder createViewFinderView(Context context) {
                IViewFinder viewFinder = super.createViewFinderView(context);
                if (viewFinder instanceof ViewFinderView) {
                    ((ViewFinderView) viewFinder).setSquareViewFinder(true);
                }
                return viewFinder;
            }
        };
setContentView(mScannerView);

然后当屏幕旋转时,布局非常糟糕,如下图所示: enter image description here

因此,在OnConfigurationChanged方法中,我尝试停止扫描程序再次启动。即便我尝试重新创建扫描仪

布局现在看起来很好。但QR扫描仪不起作用。它不识别QR码。

请告诉我哪里错了?

1 个答案:

答案 0 :(得分:1)

在清单文件中添加

 <activity
        android:name=".your class name"
        android:configChanges="orientation|screenSize"            
        android:windowSoftInputMode="adjustPan" />

您还可以在清单

中添加以下代码
<supports-screens
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:xlargeScreens="true" />