最近在看ZXing的例子,百度一下,就能发现许多现有的例子。排名在前面的,关于zxing的精简,仿微信二维码扫描等博客写的很详细,可以直接下载代码进行测试,查看。
这里自己做一个备忘,关于zxing源码是横屏显示的,网上也有相关方法进行解决了。自己多测试一下就可以了。
这里主要是注意zxing进行测试的时候,是全屏显示预览,然后进行扫描。这样使得相机的扫描区域和屏幕的预览区域是在相同的位置。否则,如果APP是有Title或者通知栏,反正不是全屏的话!那么你会发现,屏幕上的预览框总是和二维码有一定的偏差角度,才能扫描成功!
解决方法:1.让应用全屏显示--最简单
2.如果非得要通知栏,那么在扫描的Activity中,最好使用FrameLayout进行其他控件的摆放,这样最底层的相机预览界面依旧是手机屏幕分辨率-通知栏。
然后,在CameraConfigurationManager.java-->initFromCameraParameters(Camera camera)方法中,将源代码改为:
//TODO:减50,主要是为了减去通知栏的高度,如果是全屏显示的话,就不必减去。 int height = display.getHeight() - 50;
这样就基本可以使得扫描区域和显示的预览框实在同一个位置!