Commit 713251dd authored by zhang_z's avatar zhang_z

切换摄像头方向的方法;

parent 5c80e065
package com.xingdata.zzdpos.ui.scan; package com.xingdata.zzdpos.ui.scan;
import android.content.Context; import android.content.Context;
import android.hardware.camera2.CameraManager;
import android.os.Handler; import android.os.Handler;
import android.view.View; import android.view.View;
import android.view.ViewStub; import android.view.ViewStub;
...@@ -17,6 +18,7 @@ import me.dm7.barcodescanner.zxing.ZXingScannerView; ...@@ -17,6 +18,7 @@ import me.dm7.barcodescanner.zxing.ZXingScannerView;
public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, FragmentStoreScanBinding> { public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, FragmentStoreScanBinding> {
private CameraManager mCameraManager;
private ZXingScannerView mScannerView; private ZXingScannerView mScannerView;
private ZXingScannerView.ResultHandler mResultHandler; private ZXingScannerView.ResultHandler mResultHandler;
private String titleStr = ""; private String titleStr = "";
...@@ -57,6 +59,8 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, Fragm ...@@ -57,6 +59,8 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, Fragm
@Override @Override
public void initView() { public void initView() {
mCameraManager = (CameraManager) mContext.getSystemService(Context.CAMERA_SERVICE);
if (!titleStr.equals("")) { if (!titleStr.equals("")) {
viewStub = mViewBinding.vsTitle.getViewStub(); viewStub = mViewBinding.vsTitle.getViewStub();
inflated = viewStub.inflate(); inflated = viewStub.inflate();
...@@ -84,12 +88,38 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, Fragm ...@@ -84,12 +88,38 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, Fragm
}; };
mScannerView.setResultHandler(mResultHandler); mScannerView.setResultHandler(mResultHandler);
mViewBinding.contentFrame.addView(mScannerView); mViewBinding.contentFrame.addView(mScannerView);
mViewBinding.ivChange.setOnClickListener(view -> {
if (mCurCameraId == getDefaultCameraId()) {
mCurCameraId = getFrontFacingCameraId();
mScannerView.stopCamera();
mScannerView.startCamera(getFrontFacingCameraId());
} else {
mCurCameraId = getDefaultCameraId();
mScannerView.stopCamera();
mScannerView.startCamera(getDefaultCameraId());
}
});
} }
private int mCurCameraId;
@Override @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
mScannerView.startCamera(); mScannerView.startCamera(mCurCameraId);
}
private int getDefaultCameraId() {
return 0;
}
private int getFrontFacingCameraId() {
return 1;
} }
@Override @Override
......
...@@ -57,8 +57,8 @@ public final class SystemUtil { ...@@ -57,8 +57,8 @@ public final class SystemUtil {
e.printStackTrace(); e.printStackTrace();
} }
} }
// return "0818562"; return "0818562";
return "test8988"; // return "test8988";
} }
/** /**
......
...@@ -5,10 +5,10 @@ ...@@ -5,10 +5,10 @@
<variable <variable
name="onClickListener" name="onClickListener"
type="com.xingdata.zzdpos.util.OnClickListener"></variable> type="com.xingdata.zzdpos.util.OnClickListener" />
</data> </data>
<LinearLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
...@@ -20,12 +20,21 @@ ...@@ -20,12 +20,21 @@
android:inflatedId="@+id/iv_VsContent" android:inflatedId="@+id/iv_VsContent"
android:layout="@layout/title" android:layout="@layout/title"
android:onClick="@{onClickListener}" android:onClick="@{onClickListener}"
android:visibility="gone"/> android:visibility="gone" />
<FrameLayout <FrameLayout
android:id="@+id/content_frame" android:id="@+id/content_frame"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"/> android:layout_height="match_parent" />
</LinearLayout>
<ImageView
android:id="@+id/iv_change"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="切换前后"
android:padding="@dimen/all_margin"
android:src="@mipmap/icon_camera" />
</FrameLayout>
</layout> </layout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment