Android项目实战(四十五):Zxing二维码切换横屏扫描

Demo链接

默认是竖屏扫描,但是当我们在清单文件中配置横屏显示的时候:

  <activity
            android:name=".CaptureActivity"
            android:screenOrientation="landscape"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />

这时候扫描,会发现扫描效果变形,方向不对。

可按以下步骤进行修改:

1、修改CameraConfigurationManager.java中的setDesiredCameraParameters函数,

      camera.setDisplayOrientation(90);   --->    camera.setDisplayOrientation(0);

2、修改CameraManager.javagetFramingRectInPreview()函数中修改成如下,即将x改为y  , y改为x

rect.left = rect.left * cameraResolution.x / screenResolution.x;  
rect.right = rect.right * cameraResolution.x /  
screenResolution.x;  
rect.top = rect.top * cameraResolution.y / screenResolution.y;  
rect.bottom = rect.bottom * cameraResolution.y /  
screenResolution.y;  

3、修改DecodeHandler.java中的decode函数

4、其它可修改部分参照Github Demo 

可设置的:
扫描框中的中间线的宽度
扫描框中的中间线的与扫描框左右的间隙
中间那条线每次刷新移动的距离
四个绿色边角对应的长度 、 宽度、颜色 、透明度
中间滑动线的最顶端位置 、 最低端位置
扫描线  是一张图片
遮挡层颜色 , 正方形之外的 区域的颜色
闪点颜色

其他功能:
闪光灯开启
从本地获取图片读取二维码
当前xxx时间内没有扫描 , 关闭当前扫描二维码界面

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端说吧

flag - 4-5月份预整理总结的文章目录

1133
来自专栏腾讯NEXT学位

使用 CSS 追踪用户

3529
来自专栏Android开发经验

自定义View实现水平滚动控件

1362
来自专栏数据小魔方

如何在Excel里加载第三方插件,让你的Excel功能更加强大!!!

今天是小魔方的第三篇推送教程,要谈的话题是如何在Excel里加载第三方插件工具! 记得第一期的时候讲的如何调用开发工具,其实微软公司在开发office办公套件的...

3805
来自专栏维C果糖

设置 IntelliJ IDEA 主题和字体的方法

1 前言 在博文「IntelliJ IDEA 之 HelloWorld 项目创建及相关配置文件介绍」中,我们已经用 IntelliJ IDEA 创建了第一个 J...

70610
来自专栏禅林阆苑

vue封装带提示框的单选/多选文本框组件

在web开发中,经常会遇到公共模块复用的问题,例如页头、页脚、导航条等,传统的后端视图引擎如smarty、服务器配置SSI、或是纯前端的嵌套iframe、js请...

88437
来自专栏Jerry的SAP技术分享

微信小程序开发系列六:微信框架API的调用

通过前面五个章节的介绍,大家对微信小程序的视图和控制器,微信调试器,以及如何在微信控制器里编写JavaScript函数来响应微信小程序的用户事件已经有了一个最基...

3002
来自专栏破晓之歌

vue引入各类ui库 原

本身集成并没有vue的部分,我们采用的方式是把ui-css部分拿来使用,js效果自己用jquery写到methods里

3395
来自专栏我有一个梦想

Python 项目实践一(外星人入侵小游戏)第二篇

接着上次的继续学习。 一 创建一个设置类 每次给游戏添加新功能时,通常也将引入一些新设置。下面来编写一个名为settings的模块,其中包含一个名为Settin...

2398
来自专栏Android干货

Android项目实战(四十五):Zxing二维码切换横屏扫描

3528

扫码关注云+社区