How to use Zxing in portrait mode?

前端 未结 9 969
离开以前
离开以前 2020-12-01 07:48

Currently zxing library supports only on landscape mode.For my app i need to use in portrait mode

9条回答
  •  盖世英雄少女心
    2020-12-01 08:31

    Here is the Solution for Portrait mode Scanning

    first declare these two lines in your app level gradle file

    implementation 'com.journeyapps:zxing-android-embedded:3.0.1@aar'
    implementation 'com.google.zxing:core:3.2.0'
    

    Define a button in your xml file and in Onclick Listener of button write below code in MainActivity java file

    IntentIntegrator integrator = new IntentIntegrator(this);
        integrator.setPrompt("Scan a barcode");
        integrator.setCameraId(0);  // Use a specific camera of the device
        integrator.setOrientationLocked(true);
        integrator.setBeepEnabled(true);
        integrator.setCaptureActivity(CaptureActivityPortrait.class);
        integrator.initiateScan();
    

    Write below code in your MainActivity java file after onCreate() method

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
    if(result != null) {
        if(result.getContents() == null) {
            Log.d("MainActivity", "Cancelled scan");
            Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show();
        } else {
            Log.d("MainActivity", "Scanned");
            st_scanned_result = result.getContents();
            Toast.makeText(this, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show();
    
        }
      }
    
    }
    

    then create a class with name CaptureActivityPortrait that extends CaptureActivity. The class looks like below

      package soAndSo(Your PackageName);
    
      import com.journeyapps.barcodescanner.CaptureActivity;
    
      public class CaptureActivityPortrait extends CaptureActivity {
      }
    

    And Most Important declare your CaptureActivityPortrait in manifest file like below

    
    

提交回复
热议问题