第一步:集成:

官方项目地址:https://github.com/zxing/zxing

点击releases可以看到最新版本是3.3.3  地址:https://github.com/zxing/zxing/releases

Zxing扫描集成,仿照微信扫描界面并改为竖屏

下载最新的代码,可以看下目录结构如下:

Zxing扫描集成,仿照微信扫描界面并改为竖屏

先用android studio创建一个项目然后把zxing-zxing-3.3.3中的android 导入到项目(import module),导入进去之后发现好多类不在,把zxing-zxing-3.3.3中的core和android-core拷贝进去。

第二步:改为竖屏

集成之后运行是横屏的,那如何改成横屏呢?

 (1)在清单文件里CaptureActivity横竖屏属性改为竖屏:android:screenOrientation="portrait"

    (2)   CameraManager

Zxing扫描集成,仿照微信扫描界面并改为竖屏

(3)DecodeHandler类里把获取的数据横竖屏转换:

Zxing扫描集成,仿照微信扫描界面并改为竖屏

然后运行,竖屏扫描

第三步:扫描界面仿照微信

运行起来之后界面是这样的。

Zxing扫描集成,仿照微信扫描界面并改为竖屏

我们改成仿微信的界面如下:有四个角,中间有一条上下的横线                                                                                                                                                                                                                   

Zxing扫描集成,仿照微信扫描界面并改为竖屏

在ViewfinderView onDraw里先画四个角:
 int size = 68;

Zxing扫描集成,仿照微信扫描界面并改为竖屏

效果如下:

Zxing扫描集成,仿照微信扫描界面并改为竖屏

接下来:修改那条线,让他移动?

先屏蔽那条红线

// canvas.drawRect(frame.left + 2, middle - 1, frame.right - 1, middle + 2, paint);

画中间线并让它移动:private static final int SPEEN_DISTANCE = 5;

Zxing扫描集成,仿照微信扫描界面并改为竖屏

这条线移动的速度很慢,我们修改下

private static final long ANIMATION_DELAY = 10L;修改为10L,

运行界面如下:

Zxing扫描集成,仿照微信扫描界面并改为竖屏

第三步:修改下扫描框的大小

CameraManager类getFramingRect()方法

Zxing扫描集成,仿照微信扫描界面并改为竖屏

Zxing扫描集成,仿照微信扫描界面并改为竖屏

这里设置的宽度就是整个手机屏幕的宽度,可以自己设置。

下班咯,先写到这里?

相关文章:

  • 2021-08-16
  • 2021-09-24
  • 2021-12-03
  • 2022-12-23
  • 2021-10-08
  • 2021-12-04
  • 2021-12-05
猜你喜欢
  • 2021-10-01
  • 2021-05-06
  • 2021-07-04
  • 2021-06-26
  • 2021-06-04
相关资源
相似解决方案