QR扫描自定义布局

时间:2018-06-29 10:23:13

标签: android qr-code

通过使用Zxing库。在build.gradle中添加以下依赖项。 我可以扫描QR码。

  

implementation 'com.journeyapps:zxing-android-embedded:3.6.0@aar' implementation 'com.google.zxing:core:3.3.3'

我希望扫描视图以我自己的自定义布局显示。在我的布局中,我必须在扫描视图下方显示一个列表视图,并且在布局的顶部有一个单行标题文本。

如何实现?

1 个答案:

答案 0 :(得分:2)

您应该在布局中添加ZXingScannerView,即:

<me.dm7.barcodescanner.zxing.ZXingScannerView
    android:id="@+id/scanner"
    android:layout_width="wrap_content"
    android:layout_height="200dp"/>

并在您的onCreate()方法中获取该视图。

@Override
public void onCreate(Bundle state) {
  ...
  ZXingScannerView mScannerView = (ZXingScannerView)findViewById(R.id.scanner)
  ...
}

活动或片段必须实现ZXingScannerView.ResultHandler接口才能获取QR码。

当您要开始扫描时,可以创建与此方法类似的方法:

public void startScanner() {
     mScannerView.setResultHandler(this);
     mScannerView.startCamera();
     mScannerView.setFlash(true);
     mScannerView.setAutoFocus(true);
}

最后从ZXingScannerView.ResultHandler接口的handleResult(Result rawResult)方法中获取结果。

@Override
public void handleResult(Result rawResult) {
    ....
}

就是这样。希望对您有帮助