私はアプリケーションを持っており、主なアクティビティにはボタンがあり、クリックすると画面の中央にフラグメントが開きます。
私は説明されているように中央にカメラを開く作業コードがありますが、私はその単純なカメラビューをqrスキャナに変更したいと思います。zxingライブラリの依存関係が追加されました。カメラを開くときにそれを動作させる方法は?コードを手配することはできません。 (oncreateビューで)。
お手伝いをしてください。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/)便利なこの[リンク]を見つけることができます。 –
zxingライブラリのCameraConfigurationUtilsファイルを変更することができます –