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時間內沒有掃描 , 關閉當前掃描二維碼界面

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM