2016-03-18 216 views
5

我现在用的是斑马线库,JAR文件完全集成,在我的Android应用程序和后双图像/覆盖有以下问题:斑马线扫描

问题:

扫描条形码后,扫描的图像保持在实时相机馈送的顶部,透明度约为50%,持续约1-2秒。

问:

有没有什么办法刚才扫描的图像出现在0%的透明度,而不是陌生的覆盖?或者,甚至更好,它可以显示一个自定义片段?

谢谢。

代码:[W/O型不相关的部分]

public static void initiateScan(Fragment fragment) { 
    IntentIntegrator ii = new IntentIntegrator(fragment); 
    DisplayMetrics dm = fragment.getResources().getDisplayMetrics(); 
    ii.addExtra("SCAN_WIDTH", dm.heightPixels); 
    ii.addExtra("SCAN_HEIGHT", dm.widthPixels/4); 
    ii.addExtra("SCAN_MODE", "ONE_D_MODE"); 

    List<String> c = new ArrayList<String>(); 
    c.add("CODE_39"); 

    ii.initiateScan(c, -1); 
} 

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    if(requestCode==IntentIntegrator.REQUEST_CODE) { // scan from ZXing 
     String raw_vin=null; 
     String vin = null; 
     boolean success=false; 

     IntentResult result = IntentIntegrator.parseActivityResult(requestCode, 
           resultCode, data); 
     if(result!=null) 
     { 
      String content = result.getContents(); 
      if(content!=null) 
      { 
       raw_vin=content; 
       vin=raw_vin; 
       success=true; 
      } 
     } 
    } 
} 

实施例:

Example of double image

+0

,如果您使用的源代码,您可以根据您的要求定制 – Pavan

+0

斑马线@Pavan任何建议或提示在何处,这将放置在何处?如果可能的话,有什么想法需要改变? – Dima

+0

这里是源代码,你必须找到你想要自定义的活动或视图https://github.com/zxing/zxing – Pavan

回答

1

以下是我在的build.gradle文件依赖关系:

compile 'com.google.zxing:core:3.2.1' 
compile 'com.journeyapps:zxing-android-embedded:[email protected]' 

试试这个在initiateScan方法:

public static void initiateScan(Fragment fragment) { 
    IntentIntegrator ii = IntentIntegrator.forSupportFragment(fragment); 
    DisplayMetrics dm = fragment.getResources().getDisplayMetrics(); 
    ii.addExtra("SCAN_WIDTH", dm.heightPixels); 
    ii.addExtra("SCAN_HEIGHT", dm.widthPixels/4); 
    ii.addExtra("SCAN_MODE", "ONE_D_MODE"); 
    ii.initiateScan(Collections.singletonList("CODE_39")); 
} 

让我知道如何为你工作。

+0

这结束了工作;谢谢。正如其他人的一个旁注,我认为SCAN_MODE,SCAN_WIDTH,SCAN_HEIGHT不支持journeyapps。 – Dima

+0

@Dima你可能是对的。我做了一个小搜索,找不到它们,但是由于没有完全测试这些,所以将它们留在了那里。 –

0

我不能解释为什么会出现这个问题,但我使用ZXing作为我的条形码扫描仪应用程序时没有50%透明。以下是我的解决方案:

布局:

<com.journeyapps.barcodescanner.CompoundBarcodeView 
    android:id="@+id/barcode_scanner" 
    android:layout_width="match_parent" 
    android:layout_height="200dp" 
    android:layout_margin="2dp"> 

</com.journeyapps.barcodescanner.CompoundBarcodeView> 

在片段:

private CompoundBarcodeView barcodeView; 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     if (container == null) { 
      return null; 
     } 

     View v = inflater.inflate(R.layout.webservice_layout, container, false); 

     barcodeView = (CompoundBarcodeView) v.findViewById(R.id.barcode_scanner); 

     barcodeView.decodeContinuous(callback); 
...... 
} 

回调函数:

private BarcodeCallback callback = new BarcodeCallback() { 
     @Override 
     public void barcodeResult(BarcodeResult result) { 

      if (SOAP_ACTION.equals("") || SOAP_METHOD.equals("") || soapProperty.equals("")) { 
       barcodeView.pause(); 
      } else { 
       if (result.getText() != null) { 
        barcodeView.setStatusText(result.getText()); 

        barcodeView.pause(); 

        new Handler().postDelayed(new Runnable() { 
         @Override 
         public void run() { 
          barcodeView.resume(); 
         } 
        }, 1000); 
       } 
      } 
     } 
}; 

希望得到这个帮助!

0

我的做法是这样的:

​​