# ZXingLite
![Image](app/src/main/ic_launcher-web.png)
[![Download](https://img.shields.io/badge/download-App-blue.svg)](https://raw.githubusercontent.com/jenly1314/ZXingLite/master/app/release/app-release.apk)
[![MavenCentral](https://img.shields.io/maven-central/v/com.github.jenly1314/zxing-lite)](https://repo1.maven.org/maven2/com/github/jenly1314/zxing-lite)
[![JCenter](https://img.shields.io/badge/JCenter-2.0.3-46C018.svg)](https://bintray.com/beta/#/jenly/maven/zxing-lite)
[![JitPack](https://jitpack.io/v/jenly1314/ZXingLite.svg)](https://jitpack.io/#jenly1314/ZXingLite)
[![CI](https://travis-ci.org/jenly1314/ZXingLite.svg?branch=master)](https://travis-ci.org/jenly1314/ZXingLite)
[![CircleCI](https://circleci.com/gh/jenly1314/ZXingLite.svg?style=svg)](https://circleci.com/gh/jenly1314/ZXingLite)
[![API](https://img.shields.io/badge/API-21%2B-blue.svg?style=flat)](https://android-arsenal.com/api?level=21)
[![License](https://img.shields.io/badge/license-Apche%202.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)
[![Blog](https://img.shields.io/badge/blog-Jenly-9933CC.svg)](https://jenly1314.github.io/)
[![QQGroup](https://img.shields.io/badge/QQGroup-20867961-blue.svg)](http://shang.qq.com/wpa/qunwpa?idkey=8fcc6a2f88552ea44b1.1.982c94fd124f7bb3ec227e2a400dbbfaad3dc2f5ad)
ZXingLite for Android 是ZXing的精简极速版,基于ZXing库优化扫码和生成二维码/条形码功能,扫码界面完全支持自定义,也可一行代码使用默认实现的扫码功能。总之你想要的都在这里。
>简单如斯,你不试试? Come on~
## Gif 展示
![Image](GIF.gif)
> 你也可以直接下载 [演示App](https://raw.githubusercontent.com/jenly1314/ZXingLite/master/app/release/app-release.apk) 体验效果
## ViewfinderView属性说明
| 属性 | 值类型 | 默认值 | 说明 |
| :------| :------ | :------ | :------ |
| maskColor | color |<font color=#000000>#60000000</font>| 扫描区外遮罩的颜色 |
| frameColor | color |<font color=#1FB3E2>#7F1FB3E2</font>| 扫描区边框的颜色 |
| cornerColor | color |<font color=#1FB3E2>#FF1FB3E2</font>| 扫描区边角的颜色 |
| laserColor | color |<font color=#1FB3E2>#FF1FB3E2</font>| 扫描区激光线的颜色 |
| labelText | string | | 扫描提示文本信息 |
| labelTextColor | color |<font color=#C0C0C0>#FFC0C0C0</font>| 提示文本字体颜色 |
| labelTextSize | dimension |14sp| 提示文本字体大小 |
| labelTextPadding | dimension |24dp| 提示文本距离扫描区的间距 |
| labelTextWidth | dimension | | 提示文本的宽度,默认为View的宽度 |
| labelTextLocation | enum |bottom| 提示文本显示位置 |
| frameWidth | dimension | | 扫码框宽度 |
| frameHeight | dimension | | 扫码框高度 |
| laserStyle | enum | line | 扫描激光的样式 |
| gridColumn | integer | 20 | 网格扫描激光列数 |
| gridHeight | integer | 40dp | 网格扫描激光高度,为0dp时,表示动态铺满 |
| cornerRectWidth | dimension | 4dp | 扫描区边角的宽 |
| cornerRectHeight | dimension | 16dp | 扫描区边角的高 |
| scannerLineMoveDistance | dimension | 2dp | 扫描线每次移动距离 |
| scannerLineHeight | dimension | 5dp | 扫描线高度 |
| frameLineWidth | dimension | 1dp | 边框线宽度 |
| scannerAnimationDelay | integer | 20 | 扫描动画延迟间隔时间,单位:毫秒 |
| frameRatio | float | 0.625f | 扫码框与屏幕占比 |
| framePaddingLeft | dimension | 0 | 扫码框左边的内间距 |
| framePaddingTop | dimension | 0 | 扫码框上边的内间距 |
| framePaddingRight | dimension | 0 | 扫码框右边的内间距 |
| framePaddingBottom | dimension | 0 | 扫码框下边的内间距 |
| frameGravity | enum | center | 扫码框对齐方式 |
## 引入
### Gradle:
1. 在Project的 **build.gradle** 里面添加远程仓库
```gradle
allprojects {
repositories {
//...
mavenCentral()
}
}
```
2. 在Module的 **build.gradle** 里面添加引入依赖项
```gradle
//AndroidX 版本
implementation 'com.github.jenly1314:zxing-lite:2.2.1'
```
> 使用 **v2.2.x** 以上版本需要 **targetSdkVersion >= 31**
> 如果 **targetSdkVersion < 31** 请使用 **v2.2.x** 以前的版本
```gradle
//AndroidX 版本
implementation 'com.github.jenly1314:zxing-lite:2.1.1'
```
以前发布至JCenter的版本
```gradle
//AndroidX 版本
implementation 'com.king.zxing:zxing-lite:2.0.3'
```
**v1.x** 旧版本 [v1.1.9](https://github.com/jenly1314/ZXingLite/tree/androidx)
```gradle
//AndroidX 版本
implementation 'com.king.zxing:zxing-lite:1.1.9-androidx'
//Android Support 版本
implementation 'com.king.zxing:zxing-lite:1.1.9'
```
### 快速实现扫码有以下几种方式:
> 1、直接使用CaptureActivity或者CaptureFragment。(纯洁的扫码,无任何添加剂)
> 2、通过继承CaptureActivity或者CaptureFragment并自定义布局。(适用于大多场景,并无需关心扫码相关逻辑,自定义布局时需覆写getLayoutId方法)实现示例:[CustomCaptureActivity](app/src/main/java/com/king/zxing/app/CustomCaptureActivity.java) 和 [QRCodeActivity](app/src/main/java/com/king/zxing/app/QRCodeActivity.java)
> 3、在你项目的Activity或者Fragment中实例化一个CameraScan即可。(适用于想在扫码界面写交互逻辑,又因为项目架构或其它原因,无法直接或间接继承CaptureActivity或CaptureFragment时使用)实现示例:[CustomActivity](app/src/main/java/com/king/zxing/app/CustomActivity.java)
> 4、继承CameraScan自己实现一个,可参照默认实现类DefaultCameraScan,其它步骤同方式3。(扩展高级用法,谨慎使用)
## 示例
布局示例
> 可自定义布局(覆写getLayoutId方法),布局内至少要保证有PreviewView。
> PreviewView 用来预览,布局内至少要保证有PreviewView,如果是继承CaptureActivity或CaptureFragment,控件id可覆写getPreviewViewId方法自定义
> ViewfinderView 用来渲染扫码视图,给用户起到一个视觉效果,本身扫码识别本身没有关系,如果是继承CaptureActivity或CaptureFragment,控件id可复写getViewfinderViewId方法自定义,默认为previewView,返回0表示无需ViewfinderView
> ivFlashlight 用来内置手电筒,如果是继承CaptureActivity或CaptureFragment,控件id可复写getFlashlightId方法自定义,默认为ivFlashlight。返回0表示无需内置手电筒。您也可以自己去定义
```Xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.camera.view.PreviewView
android:id="@+id/previewView"
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"/>
<ImageView
android:id="@+id/ivFlashlight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/zxl_flashlight_selector"
android:layout_marginTop="@dimen/zxl_flashlight_margin_top" />
</FrameLayout>
```
或在你的布局中添加
```Xml
<include layout="@layout/zxl_capture"/>
```
代码示例 (二维码/条形码)
```Java
//跳转的默认扫码界面
startActivityForResult(new Intent(context,CaptureActivity.class),requestCode);
//生成二维码
CodeUtils.createQRCode(content,600,logo);
//生成条形码
CodeUtils.createBarCode(content, BarcodeFormat.CODE_128,800,200);
//解析条形码/二维码
CodeUtils.parseCode(bitmap);
//解析二维码
CodeUtils.p
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
二维码、条形码扫描Zxing (198个子文件)
app-release.apk 3.47MB
gradlew.bat 2KB
executionHistory.bin 2.01MB
classAnalysis.bin 1.69MB
fileHashes.bin 173KB
sha1-checksums.bin 136KB
outputFiles.bin 91KB
jarAnalysis.bin 38KB
md5-checksums.bin 34KB
taskHistory.bin 30KB
resourceHashesCache.bin 18KB
last-build.bin 1B
last-build.bin 1B
GIF.gif 7.81MB
.gitignore 95B
.gitignore 8B
.gitignore 7B
build.gradle 1KB
build.gradle 1KB
build.gradle 1015B
settings.gradle 31B
gradlew 5KB
app.iml 12KB
zxing-lite.iml 11KB
ZXingLite-master.iml 888B
gradle-wrapper.jar 53KB
CodeUtils.java 22KB
ViewfinderView.java 19KB
DefaultCameraScan.java 17KB
DecodeConfig.java 14KB
MainActivity.java 9KB
LogUtils.java 8KB
CustomCaptureActivity.java 7KB
CaptureFragment.java 6KB
DecodeFormatManager.java 6KB
CameraScan.java 6KB
CaptureActivity.java 6KB
AmbientLightManager.java 4KB
QRCodeActivity.java 4KB
PermissionUtils.java 4KB
BeepManager.java 3KB
StatusBarUtils.java 3KB
BarcodeFormatAnalyzer.java 3KB
MultiFormatAnalyzer.java 3KB
CodeActivity.java 3KB
CustomActivity.java 3KB
UriUtils.java 3KB
AreaRectAnalyzer.java 2KB
ResolutionCameraConfig.java 2KB
EasyCaptureActivity.java 2KB
AspectRatioCameraConfig.java 2KB
ImageAnalyzer.java 2KB
CaptureFragmentActivity.java 1KB
ICameraControl.java 953B
CameraConfig.java 784B
QRCodeAnalyzer.java 757B
BuildConfig.java 647B
Analyzer.java 642B
ICamera.java 474B
BuildConfig.java 445B
LICENSE 11KB
buildOutputCleanup.lock 17B
fileHashes.lock 17B
dependencies-accessors.lock 17B
fileHashes.lock 17B
fileContent.lock 17B
executionHistory.lock 17B
javaCompile.lock 17B
checksums.lock 17B
README.md 19KB
change_log.md 3KB
zxl_beep.mp3 1KB
ic_launcher-web.png 14KB
ic_launcher_round.png 11KB
ic_launcher_round.png 7KB
ic_launcher_round.png 5KB
ic_launcher_foreground.png 5KB
ic_launcher.png 4KB
ic_launcher_foreground.png 3KB
ic_launcher_round.png 3KB
ic_launcher.png 3KB
ic_launcher_foreground.png 2KB
ic_launcher_round.png 2KB
logo.png 2KB
ic_launcher.png 2KB
flash_off.png 2KB
zxl_flashlight_off.png 2KB
ic_launcher_foreground.png 2KB
flash_on.png 2KB
zxl_flashlight_on.png 2KB
ic_launcher.png 1KB
ic_launcher_foreground.png 1KB
ic_launcher.png 1022B
btn_none.png 1008B
btn_back_pressed.png 804B
btn_back_normal.png 726B
proguard-rules.pro 1KB
proguard-rules.pro 772B
gradle.properties 2KB
local.properties 343B
共 198 条
- 1
- 2
throc
- 粉丝: 2
- 资源: 92
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0