code-scanner:基于 ZXing 的 Android 二维码扫描库项目

Code scanner library for Android, based on ZXing

分支1Tags63
文件最后提交记录最后更新时间
4 年前
8 年前
2 年前
8 年前
8 年前
2 年前
2 年前
7 年前
8 年前
8 年前
8 年前

代码扫描器

Logo

版本发布 Android军火库 支持API级别

一款基于ZXing的Android平台代码扫描库。

功能特性

  • 自动对焦和闪光灯控制
  • 支持竖屏和横屏显示
  • 使用前后摄像头
  • 可自定义的目标视图区域
  • 全面兼容Kotlin
  • 触摸对焦

支持格式

一维产品码 一维工业码 二维码
UPC-A Code 39 QR码
UPC-E Code 93 数据矩阵
EAN-8 Code 128 阿兹台克码
EAN-13 Codabar PDF 417
ITF MaxiCode
RSS-14
RSS扩展

使用示例(示例应用

步骤1: 在项目根目录的build.gradle文件末尾添加仓库配置:

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
   }
}

或者在settings.gradle中:

dependencyResolutionManagement {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

步骤2: 添加依赖项:

dependencies {
    implementation 'com.github.yuriy-budiyev:code-scanner:2.3.0'
}

在AndroidManifest.xml中添加相机权限和硬件特征声明(别忘了API 23及以上版本的动态权限管理):

<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>

在布局文件中定义视图:

<FrameLayout ...>
    <com.budiyev.android.codescanner.CodeScannerView
        android:id="@+id/scanner_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:autoFocusButtonColor="@android:color/white"
        app:autoFocusButtonVisible="true"
        .../>
</FrameLayout>

然后,在活动(Activity)中加入以下代码(以Kotlin为例):

class MainActivity : AppCompatActivity() {
    private lateinit var codeScanner: CodeScanner
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        val scannerView = findViewById<CodeScannerView>(R.id.scanner_view)
        codeScanner = CodeScanner(this, scannerView)
        // 设置参数和回调
        ...
        scannerView.setOnClickListener {
            codeScanner.startPreview()
        }
        
        // 剩余设置...
    }
    
    override fun onResume() {
        super.onResume()
        codeScanner.startPreview()
    }
    
    override fun onPause() {
        codeScanner.releaseResources()
        super.onPause()
    }
}

Java语言同样适用,略作调整即可。此外,也可以在fragment中集成相同功能,方法类似。

预览图

预览截图

项目介绍

Android平台基于ZXing的条码扫描器库【此简介由AI生成】

定制我的领域
291.16 K279访问 GitHub