在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
最后小感慨下,昨天上午,唉,這是不是意味着一個王朝的覆滅......