我是Android开发新手,我正在开发一个Android项目,我必须整合QR扫描仪。所以我想我会整合Zxing QR扫描仪并遇到这个库https://github.com/dm77/barcodescanner,按照提供的说明,我已成功整合并扫描了QR。 现在我想自定义摄像机视图。问题是没有关于如何访问相机布局的文档。由于我是新人,我可能会遗漏一些东西。
我已阅读了很多与Zxing相关的帖子,但我找不到任何解决方案。
通过让我知道如何访问相机视图或指出我的一些文章,我们将非常感谢任何帮助。一旦我知道如何完成剩下的工作。
我很乐意提供更多信息。
提前致谢。
更新
public class QrScanActivity extends BaseActivity implements ZXingScannerView.ResultHandler {
private ZXingScannerView mScannerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_scan);
// Programmatically initialize the scanner view
mScannerView = new ZXingScannerView(this);
// Set the scanner view as the content view
setContentView(mScannerView);
}
mScannerView
是图书馆的视图。我想访问该视图。我有一个名为activity_my_scan
的视图。我可以添加自定义布局并使用它,但我不知道如何绕过库使用的布局。
答案 0 :(得分:0)
而不是仅仅使用gradle< p>将此lib添加为jar
compile 'me.dm7.barcodescanner:zxing:1.6.3'
您可以从github克隆项目或下载zip并将其解压缩并作为lib项目集成到您的项目中。然后对其来源和布局进行任何所需的更改。
答案 1 :(得分:0)
ZXingScannerView扩展了BarcodeScannerView。您可以通过转到ZXingScannerView的声明(在Android Studio Ctrl + B中)来访问它。
public class ZXingScannerView extends BarcodeScannerView {
private MultiFormatReader mMultiFormatReader;
public static final List<BarcodeFormat> ALL_FORMATS = new ArrayList();
private List<BarcodeFormat> mFormats;
private ZXingScannerView.ResultHandler mResultHandler;
如果您使用BarcodeScannerView的声明,您会注意到一个名为setupLayout()的方法,它格式化布局:
public void setupLayout() {
this.mPreview = new CameraPreview(this.getContext());
this.mViewFinderView = new ViewFinderView(this.getContext());
RelativeLayout relativeLayout = new RelativeLayout(this.getContext());
relativeLayout.setGravity(17);
relativeLayout.setBackgroundColor(-16777216);
relativeLayout.addView(this.mPreview);
this.addView(relativeLayout);
this.addView(this.mViewFinderView);
}
通过转到“CameraPreview”的声明,您将能够获得有关相机布局方式的更多信息,您可以扩展ZXingScannerView来编辑布局。
希望这有帮助!
干杯!
答案 2 :(得分:-1)
在你的情况下,我会尝试将布局包含在另一个布局中,也许有帮助:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:background="@color/app_bg"
android:gravity="center_horizontal">
<include layout="@layout/titlebar"/>
<TextView android:layout_width=”match_parent”
android:layout_height="wrap_content"
android:text="@string/hello"
android:padding="10dp" />
...
</LinearLayout>
当然有关于here;)的信息