我在我的 Android 应用程序中使用与 jar 文件完全集成的 ZXing 库,但遇到以下问题:
问题:
扫描条形码后,扫描图像会以大约 50% 的透明度在实时摄像头画面的顶部停留大约 1-2 秒。
问题:
有什么方法可以让扫描图像以 0% 的透明度显示,而不是奇怪的叠加层?或者,更好的是,它可以显示自定义 fragment 吗?
谢谢。
代码:[没有不相关的部分]
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;
}
}
}
}
示例:
最佳答案
这是我在 build.gradle 文件中的依赖项:
compile 'com.google.zxing:core:3.2.1'
compile 'com.journeyapps:zxing-android-embedded:3.0.3@aar'
在 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"));
}
让我知道这对您有何帮助。
关于android - 扫描后 ZXing 双像/叠加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36089946/