zxing 掃一掃 實用工具效率很高


https://github.com/jenly1314/ZXingLite

ZXingLite for Android 是ZXing的精簡版,基於ZXing庫優化掃碼和生成二維碼/條形碼功能,掃碼界面完全支持自定義,也可一行代碼使用默認實現的掃碼功能。總之你想要的都在這里。

 

Maven:

<dependency>
  <groupId>com.king.zxing</groupId>
  <artifactId>zxing-lite</artifactId>
  <version>1.1.1</version>
  <type>pom</type>
</dependency>

Gradle:

implementation 'com.king.zxing:zxing-lite:1.1.1'

Lvy:

<dependency org='com.king.zxing' name='zxing-lite' rev='1.1.1'>
  <artifact name='$AID' ext='pom'></artifact>
</dependency>
如果Gradle出現compile失敗的情況,可以在Project的build.gradle里面添加如下:(也可以使用上面的GitPack來complie)
allprojects {
    repositories {
        maven { url 'https://dl.bintray.com/jenly/maven' } } }

引入的庫:

compileOnly 'com.android.support:appcompat-v7:28.0.0' api 'com.google.zxing:core:3.3.3'

示例

布局示例 (可自定義布局,布局內至少要保證有SurfaceView和ViewfinderView,控件id可根據重寫CaptureActivity 的 getPreviewViewId 和 getViewFinderViewId方法自定義)

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <SurfaceView android:id="@+id/surfaceView" android:layout_width="match_parent" android:layout_height="match_parent"/> <com.king.zxing.ViewfinderView android:id="@+id/viewfinderView" android:layout_width="match_parent" android:layout_height="match_parent"/> </FrameLayout>

代碼示例 (二維碼/條形碼)

    //跳轉的默認掃碼界面 startActivityForResult(new Intent(context,CaptureActivity.class),requestCode); //生成二維碼 CodeUtils.createQRCode(content,600,logo); //生成條形碼 CodeUtils.createBarCode(content, BarcodeFormat.CODE_128,800,200);

如果直接使用CaptureActivity需在您項目的AndroidManifest中添加如下配置

    <activity
        android:name="com.king.zxing.CaptureActivity" android:screenOrientation="portrait"/>

快速實現掃碼有以下幾種方式:

1、直接使用CaptureActivity或者CaptureFragment。(純潔的掃碼,無任何添加劑)

2、通過繼承CaptureActivity或者CaptureFragment並自定義布局。(適用於大多場景,並無需關心掃碼相關邏輯)

3、在你項目的Activity或者Fragment中創建創建一個CaptureHelper並在相應的生命周期中調用CaptureHelper的周期。(適用於想在掃碼界面寫交互邏輯,又因為項目架構或其它原因,無法直接或間接繼承CaptureActivity或CaptureFragment時使用)

4、參照CaptureHelper寫一個自定義的掃碼幫助類,其它步驟同方式3。(擴展高級用法,謹慎使用)

更多使用詳情,請查看app中的源碼使用示例

版本記錄

v1.1.1:2019-5-20

  • 支持掃二維碼過小時,自動縮放
  • 支持垂直條形碼識別(增強條形碼識別,默認不支持,需CaptureHelper.supportVerticalCode(true)開啟)

v1.1.0:2019-4-19

  • 將掃碼相關邏輯與界面分離,ZXingLite使用更容易擴展
  • 新增CaptureFragment

v1.0.7:2019-4-9

  • 新增網格樣式的掃描激光(類似支付寶掃碼樣式)
  • 升級Gradle至v4.6

v1.0.6:2019-1-16

  • 支持連續掃碼
  • 支持橫屏掃碼(主要為了支持Pad)

v1.0.5:2018-12-29

  • 支持自定義掃碼框寬高

v1.0.4:2018-12-19

  • 修改text相關自定義屬性,如:text->labelText

v1.0.3:2018-11-20

  • 支持觸摸縮放變焦

v1.0.2:2018-9-12

  • 支持條形碼下方顯示顯示code
  • 優化相機預覽尺寸遍歷策略,從而降低預覽變形的可能性

v1.0.1:2018-8-23

  • 優化掃碼識別速度

v1.0.0:2018-8-9

  • ZXingLite初始版本


免責聲明!

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



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