# QRCode **Repository Path**: zeno/QRCode ## Basic Information - **Project Name**: QRCode - **Description**: 二维码生成 / 扫描 - **Primary Language**: Android - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 2 - **Created**: 2015-08-14 - **Last Updated**: 2021-06-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 二维码生成和扫描 ### 使用的开源控件 - [QRCodeReaderView](https://github.com/dlazaro66/QRCodeReaderView "QRCodeReaderView" ) #### FEATURES - [x] 支持相机取景和从相册识别,结果返回来源(1: 相机,2:相册) - [x] 扫码页面只监听一次结果 - [x] 自动申请权限 - [x] 一行代码完成扫码请求 - [x] 一行代码完成相册图片二维码解析 - [x] logo 定制 - [ ] 取景辅助遮罩 #### USAGE ```groovy maven { url "http://maven.mjtown.cn/"} implementation "name.zeno:qrcode:0.0.1.20171206" ``` - 获取扫码结果 ```kotlin navQrcode { ok:Boolean, data:QRCode -> if (data != null) //resolve result here } ``` - 从相册识别二维码 ```kotlin qrcodeFromAlbum().subscribe({ data:QRCode -> // resolve result here }, { e -> // resolve error }) ``` - 扫描结果 ```kotlin class QRCode private constructor( val data: String, /* 1:相机,2:相册*/ val from: Int ) ``` - 生成二维码 ```kotlin val msg = "message into qrcode" val config = QrCodeOptions(msg = msg, w = 400) .logo( logo = BitmapFactory.decodeResource(resources, R.drawable.avatar), bgColor = Color.WHITE, borderColor = Color.LTGRAY, round = 24 ) .detect(BitmapFactory.decodeResource(resources, R.mipmap.eyes)) .detect(Color.RED, Color.BLACK) val bmp = QrCodeUtil.toBitmap(config) iv_qrcode.setImageBitmap(bmp) ``` > 如果想自己定制 Activity, 可以参考 QRCodeReaderActivity ,加载 QRCodeReaderFragment,监听结果便是 #### THANKS - [二维码的生成细节和原理](http://developer.51cto.com/art/201310/414082.htm) - [zxing 二维码生成深度定制](http://blog.csdn.net/liuyueyi25/article/details/77131810) - [草料 | 二维码美化器](http://mh.cli.im/) - [草料 | 活码管理系统](https://user.cli.im/) - [Android使用ZXing生成带Logo图案的二维码](http://www.open-open.com/lib/view/open1433399323182.html)