优化部分已知细节问题
This commit is contained in:
@@ -13,6 +13,7 @@ import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.king.zxing.CaptureHelper;
|
||||
import com.king.zxing.DecodeFormatManager;
|
||||
import com.king.zxing.OnCaptureCallback;
|
||||
import com.king.zxing.ViewfinderView;
|
||||
import com.king.zxing.app.util.StatusBarUtils;
|
||||
|
||||
@@ -15,16 +15,19 @@
|
||||
*/
|
||||
package com.king.zxing.app;
|
||||
|
||||
import android.content.pm.PackageManager;
|
||||
import android.hardware.Camera;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.google.zxing.Result;
|
||||
import com.google.zxing.DecodeHintType;
|
||||
import com.king.zxing.CaptureActivity;
|
||||
import com.king.zxing.app.util.StatusBarUtils;
|
||||
import com.king.zxing.camera.CameraConfigurationUtils;
|
||||
|
||||
/**
|
||||
* 自定义继承CaptureActivity
|
||||
@@ -32,6 +35,8 @@ import com.king.zxing.app.util.StatusBarUtils;
|
||||
*/
|
||||
public class CustomCaptureActivity extends CaptureActivity {
|
||||
|
||||
private ImageView ivFlash;
|
||||
|
||||
private boolean isContinuousScan;
|
||||
@Override
|
||||
public int getLayoutId() {
|
||||
@@ -40,39 +45,46 @@ public class CustomCaptureActivity extends CaptureActivity {
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
|
||||
super.onCreate(icicle);
|
||||
Toolbar toolbar = findViewById(R.id.toolbar);
|
||||
StatusBarUtils.immersiveStatusBar(this,toolbar,0.2f);
|
||||
TextView tvTitle = findViewById(R.id.tvTitle);
|
||||
tvTitle.setText(getIntent().getStringExtra(MainActivity.KEY_TITLE));
|
||||
|
||||
ivFlash = findViewById(R.id.ivFlash);
|
||||
|
||||
if(!hasTorch()){
|
||||
ivFlash.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
isContinuousScan = getIntent().getBooleanExtra(MainActivity.KEY_IS_CONTINUOUS,false);
|
||||
//获取CaptureHelper,里面有扫码相关的配置设置
|
||||
getCaptureHelper().playBeep(false)//播放音效
|
||||
.vibrate(true)//震动
|
||||
// .decodeFormats(DecodeFormatManager.QR_CODE_FORMATS)//设置只识别二维码会提升速度
|
||||
.supportVerticalCode(true)//支持扫垂直条码,建议有此需求时才使用。
|
||||
.continuousScan(isContinuousScan);//是否连扫
|
||||
}
|
||||
|
||||
/**
|
||||
* 开启或关闭闪光灯(手电筒)
|
||||
* @param on {@code true}表示开启,{@code false}表示关闭
|
||||
*/
|
||||
public void setTorch(boolean on){
|
||||
Camera camera = getCameraManager().getOpenCamera().getCamera();
|
||||
Camera.Parameters parameters = camera.getParameters();
|
||||
CameraConfigurationUtils.setTorch(parameters,on);
|
||||
camera.setParameters(parameters);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭闪光灯(手电筒)
|
||||
* 检测是否支持闪光灯(手电筒)
|
||||
* @return
|
||||
*/
|
||||
private void offFlash(){
|
||||
Camera camera = getCameraManager().getOpenCamera().getCamera();
|
||||
Camera.Parameters parameters = camera.getParameters();
|
||||
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
|
||||
camera.setParameters(parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* 开启闪光灯(手电筒)
|
||||
*/
|
||||
public void openFlash(){
|
||||
Camera camera = getCameraManager().getOpenCamera().getCamera();
|
||||
Camera.Parameters parameters = camera.getParameters();
|
||||
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
|
||||
camera.setParameters(parameters);
|
||||
public boolean hasTorch(){
|
||||
return getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
|
||||
}
|
||||
|
||||
|
||||
@@ -92,14 +104,9 @@ public class CustomCaptureActivity extends CaptureActivity {
|
||||
|
||||
|
||||
private void clickFlash(View v){
|
||||
if(v.isSelected()){
|
||||
offFlash();
|
||||
v.setSelected(false);
|
||||
}else{
|
||||
openFlash();
|
||||
v.setSelected(true);
|
||||
}
|
||||
|
||||
boolean isSelected = v.isSelected();
|
||||
setTorch(!isSelected);
|
||||
v.setSelected(!isSelected);
|
||||
}
|
||||
|
||||
public void onClick(View v){
|
||||
|
||||
@@ -21,6 +21,7 @@ import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.king.zxing.CaptureActivity;
|
||||
import com.king.zxing.DecodeFormatManager;
|
||||
import com.king.zxing.app.util.StatusBarUtils;
|
||||
|
||||
/**
|
||||
@@ -41,7 +42,10 @@ public class EasyCaptureActivity extends CaptureActivity {
|
||||
StatusBarUtils.immersiveStatusBar(this,toolbar,0.2f);
|
||||
TextView tvTitle = findViewById(R.id.tvTitle);
|
||||
tvTitle.setText(getIntent().getStringExtra(MainActivity.KEY_TITLE));
|
||||
getCaptureHelper().playBeep(true).vibrate(true);
|
||||
getCaptureHelper()
|
||||
// .decodeFormats(DecodeFormatManager.QR_CODE_FORMATS)//设置只识别二维码会提升速度
|
||||
.playBeep(true)
|
||||
.vibrate(true);
|
||||
}
|
||||
|
||||
public void onClick(View v){
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportHeight="108"
|
||||
android:viewportWidth="108">
|
||||
<path
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeWidth="1">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:endX="78.5885"
|
||||
android:endY="90.9159"
|
||||
android:startX="48.7653"
|
||||
android:startY="61.0927"
|
||||
android:type="linear">
|
||||
<item
|
||||
android:color="#44000000"
|
||||
android:offset="0.0"/>
|
||||
<item
|
||||
android:color="#00000000"
|
||||
android:offset="1.0"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:fillColor="#FFFFFF"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeWidth="1"/>
|
||||
</vector>
|
||||
Reference in New Issue
Block a user