在android上二维码、条形码扫描,google官方为我们提供了zXing,几乎android涉及到扫描的都是用这个开源项目实现的,也有在android上使用zBar的,和其他用过的交流得知zBar在扫描二维码时优于zXing,在条形码上zXing更胜一筹,ios一般使用zBar。

今天主要说下使用zXing时遇到的问题,关于如何使用网上相关文章很多就不再重复,直接主题:

1.zXing与TabHost一块使用时

2.横屏变竖屏问题

3.一种实现方法引起的思考

第一个问题,只能长长的叹一口气,想起那些日子为了这个问题......,谷歌官方解释如下:

The app doesn't use a TabHost. If you are writing your own app, indeed, you may need to write different code!

this part is not a library that is supposed to work in other contexts.

关于这个我也就不多说什么了,多直白的话:要想在TabHost下使用,自己写。。。。。。

第二个问题,百度一下会有很多教程,按照教程的确能实现横屏变竖屏,本以为事情就是这么顺利,直到那天某某总扫一张巨密集的名片二维码,奏是出不来,所以横屏变竖屏会有一个问题,扫描的灵敏度受损。后来记得是在stackoverflow看到一篇文章横屏变竖屏,看年代比较久远,对比后猜测国内各种横屏变竖屏的方法应该是仿照这个总结,仔细看作者是针对自己的HTC手机改的,对其他机型是否完全适合值得怀疑。下面是overflow上相关问题的几张截图

横屏变竖屏

灵明度

横屏竖屏扫面框和焦点框对比

感觉这个最起码要将源码研究透彻之后,才能保证在灵敏度不受损的情况下横屏变竖屏。

第三个问题,只是感觉这种方式实现的很新颖,是在看一款叫我查查的软件时发现的,其实是一种假的竖屏,不过感觉体验非常好:

            

左边的图是正常状态下,其实当你强行在屏幕上从右向左(对程序而言是自上而下)滑动时标题栏会出现,说明当前其实是横屏的,只是将界面设计成了竖屏的样子,感觉很不错。

期望有更好的方法出现,美观,实用,不影响性能。

下面是相关两篇文章的地址:

http://stackoverflow.com/questions/17608302/zxing-lib-not-smoothly-detecting-qrcode-in-portrait-mode

http://stackoverflow.com/questions/16252791/zxing-camera-in-portrait-mode-on-android?rq=1

最后小感慨下,昨天上午,唉,这是不是意味着一个王朝的覆灭......

zXing使用小结的更多相关文章

  1. zxing扫码--镭射线

    同步发表于http://avenwu.net/2015/09/15/zxing_view_finder_laser 在很多应用中都有二维码扫描的需求,比如微信,通过扫描电脑二维码,实现用户登录授权: ...

  2. 从零开始编写自己的C#框架(26)——小结

    一直想写个总结,不过实在太忙了,所以一直拖啊拖啊,拖到现在,不过也好,有了这段时间的沉淀,发现自己又有了小小的进步.哈哈...... 原想框架开发的相关开发步骤.文档.代码.功能.部署等都简单的讲过了 ...

  3. Python自然语言处理工具小结

    Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 目录 [Python NLP]干货!详述Python NLTK下如何使用stanford NLP工具包(1) [ ...

  4. java单向加密算法小结(2)--MD5哈希算法

    上一篇文章整理了Base64算法的相关知识,严格来说,Base64只能算是一种编码方式而非加密算法,这一篇要说的MD5,其实也不算是加密算法,而是一种哈希算法,即将目标文本转化为固定长度,不可逆的字符 ...

  5. Android 扫描条形码(Zxing插件)

    使用Android Studio 一.在build.gradle(Module:app)添加代码  下载,调用插件 1 apply plugin: 'com.android.application' ...

  6. iOS--->微信支付小结

    iOS--->微信支付小结 说起支付,除了支付宝支付之外,微信支付也是我们三方支付中最重要的方式之一,承接上面总结的支付宝,接下来把微信支付也总结了一下 ***那么首先还是由公司去创建并申请使用 ...

  7. Atitit zxing二维码qr码识别解析

    Atitit zxing二维码qr码识别解析 1.1. qr码识别解析 by zxing1 1.2. 解码lib:qrcode.jar  2 1.3. atitit.二维码生成总结java zxing ...

  8. iOS 之UITextFiled/UITextView小结

    一:编辑被键盘遮挡的问题 参考自:http://blog.csdn.net/windkisshao/article/details/21398521 1.自定方法 ,用于移动视图 -(void)mov ...

  9. K近邻法(KNN)原理小结

    K近邻法(k-nearst neighbors,KNN)是一种很基本的机器学习方法了,在我们平常的生活中也会不自主的应用.比如,我们判断一个人的人品,只需要观察他来往最密切的几个人的人品好坏就可以得出 ...

随机推荐

  1. HDU 3697 Selecting courses(贪心)

    题目链接:pid=3697" target="_blank">http://acm.hdu.edu.cn/showproblem.php?pid=3697 Prob ...

  2. docker 1.12.3版本搭建私有仓库,上传镜像报错:server gave HTTP response to HTTPS client”

    系统环境:centos7 docker版本: 1.12.3(注意版本,可能存在不同版本设置不同的情况) docker registry版本:2.4.1 问题: 成功安装docker registry, ...

  3. Asp.Net HttpApplication 事件汇总

    Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法.你可以使用这个文件实现应用程序安全性以及其它一些任务.下面让我们详细看 ...

  4. hdu4006 优先队列

    A - 签到 Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:65768KB     64bit I ...

  5. c#中serialPort1_DataReceived串口接收事件处理

    1.缓冲区不定字节读取(波特率很高也没问题) //Thread.sleep(1000);//处理事件这块可以加上延时确保不定数的数据可以全部收到缓冲后,才去读缓冲内容--单位:毫秒 byte[] da ...

  6. WDCP LNMPA和LNMP 504 Gateway time-out错误的解决方法

    Nginx的特点是处理静态很给力,Apache的特点是处理动态很稳定,两者结合起来便是LNMPA,nginx处理前端,apache处理后端,这样处理静态会很快,处理动态会很稳定.当我以为安装完成以后便 ...

  7. iOS学习之自定义视图时,在屏幕发生旋转时触发重新布局方法

    如果要对自定义的视图在屏幕旋转时重新布局,则在自定义视图中定义以下触发方法: -(void)layoutSubviews { [super layoutSubviews]; //1.获取到屏幕旋转的方 ...

  8. 关于String s = new String("xyz"); 创建几个对象的问题

    引用自这位朋友:http://blog.sina.com.cn/s/blog_6a6b14100100zn6r.html 你知道在java中除了8中基本类型外,其他的都是类对象以及其引用.所以 &qu ...

  9. filter 以及 orderBy的使用

    filter用于关键字过滤操作,orderBy用于排序操作,运行界面如下: 点击标题Name与Email实现排序功能,输入框中输入关键字进行过滤,同时实现根据关键字进行过滤后进行排序操作: ng-re ...

  10. java 将GBK编码文件转为UTF-8编码

    需要commons-io-2.0.1.jar public class Test { public static void main(String args[]) throws IOException ...