1、导入项目
zxing的源码下载了,并导入到as里面。导入的应该是下载源码的android部分。
现在最新的版本是3.3.3,大家根据当时最新的版本来做出调整,只提供思路。但只导入android的话,是运行不了的,会报错,因为对应的包没有导入,网上有很多导入的方法。这个是其中一个方法,但as有gradle,本人偏向于使用gradle导入,在gradle加入如下依赖(请根据实际情况,查找对应的版本,如果不知道怎么查找gradle的各个版本,就百度:maven仓库,在仓库的页面里面搜索对应的类库,例如:zxing,这个方法适用于很多类库,里面提供了各种导入方法。)
dependencies {
·······
compile 'com.google.zxing:core:3.3.3';
compile 'com.google.zxing:android-core:3.3.0';
·······
}
这样运行应该是能通过的了。
2、修改
通常的扫描二维码都是使用surfaceView来做,但这样的话,不把摄像头的数据输出到屏幕是做不到的,现在是不预览,直接就扫描二维码。所以要换一种方式来做。(方法一二适用于非常旧的系统,因为SurfaceTexture在3.0就出现)
方法一
网上的方法,通常都是把预览的surfaceView做得很少,只有1px这样来解决预览输出的问题
方法二
其实surfaceView是可以给覆盖的,代码只不过是要输出到,但用户看不看得到时没有所谓的,只要布局合理,把surfaceView挡住,在surfaceView上面布局自己的控件即可
方法三
首先是搜索到这篇文章,这篇文章就是说怎么实现的,但只有几行代码,但起码提供了思路就好了。