我有一个应用程序,并在其主要活动有一个按钮,点击它在屏幕中心打开一个片段。
我有工作代码,打开相机在中心作为解释,但我希望简单的相机视图更改为qr scanner.I现在已添加zxing库依赖项。以及如何在打开相机时使其工作?不能安排代码。 (在创建视图中)。
任何帮助将是伟大的请。如何用qr码扫描仪打开相机?
//method in scan.java
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_scan, container, false);
if(checkCameraHardware(getActivity().getApplicationContext())){
zXingScannerView = new ZXingScannerView(getActivity().getApplicationContext());
//zXingScannerView.startCamera(); I tried something like this
mCamera = Camera.open();
mCamera.setDisplayOrientation(90);
Camera.Parameters params = mCamera.getParameters();
params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
mCamera.setParameters(params);
mPreview = new CameraPreview(this.getActivity(), mCamera);
//container.addView(mPreview);--->Remove this line
//Add this line
FrameLayout preview =(FrameLayout)view.findViewById(R.id.camera_preview);
preview.addView(mPreview);
}
// Inflate the layout for this fragment
return view;
}
//fragment_scan.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:context="layout.scan"
android:layout_centerInParent="true"
android:layout_marginTop="@dimen/nav_header_height"
android:layout_marginBottom="@dimen/fab_margin"
android:layout_marginLeft="@dimen/fab_margin"
>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/camera_preview"
>
</FrameLayout>
</LinearLayout>
您可能会发现这[链接](https://www.spaceotechnologies.com/qr-code-android-using-zxing-library/)有用。 –
你可以改变CameraConfigurationUtils文件在斑马线库 –