Android 最好用的扫码框架 封装ZXing

之前项目中用到的扫码框架还是ZXing,嘻嘻 来到新公司之后 发现我们这个扫码框架是用的一个基于ZX ing封装的一个扫码框架 ,而且扫码的速度和准确率都比ZXing要强大的许多,因为要改其中的一个小功能 ,所以就研究了一下。QRCode 扫描二维码、扫描条形码、相册获取图片后识别、生成带 Logo 二维码、支持微博微信 QQ 二维码扫描样式

下面就让我们开始吧  

首先给出原作者的git地址 

https://github.com/bingoogolapple/BGAQRCode-Android

效果图如下(这个是原作者的哦):


下面开始上代码了 我只用的Zxing

1.gradle中添加:



dependencies {

    implementation'cn.bingoogolapple:bga-qrcode-zxing:1.3.4'

}

这里我是用的最新的 因为用到了自定义的扫码格式

2.在布局文件中:


3.在Activity中使用


/**

* 延迟delay毫秒后开始识别

*/

mQRCodeView.startSpotDelay(800);

需要当前Activity实现QRCodeView.Delegate,ICaptureView;

implements QRCodeView.Delegate,ICaptureView;

这里面有两个回调方法  一个是扫描结果的回调  一个是否需要开启闪光灯

/** * 处理扫描结果 **@paramresult 摄像头扫码时只要回调了该方法 result 就一定有值,不会为 null。解析本地图片或 Bitmap 时 result 可能为 null*/

voidonScanQRCodeSuccess(Stringresult)

/** * 摄像头环境亮度发生变化 **@paramisDark 是否变暗*/

voidonCameraAmbientBrightnessChanged(booleanisDark);

/** * 处理打开相机出错*/

voidonScanQRCodeOpenCameraError()


自定义属性说明

属性名说明默认值

qrcv_topOffset    扫描框距离 toolbar 底部的距离90dp

qrcv_cornerSize    扫描框边角线的宽度3dp

qrcv_cornerLength    扫描框边角线的长度20dp

qrcv_cornerColor    扫描框边角线的颜色@android:color/white

qrcv_cornerDisplayType    扫描框边角线显示位置(相对于边框),默认值为中间center

qrcv_rectWidth    扫描框的宽度200dp

qrcv_barcodeRectHeight    条码扫样式描框的高度140dp

qrcv_maskColor    除去扫描框,其余部分阴影颜色#33FFFFFF

qrcv_scanLineSize    扫描线的宽度1dp

qrcv_scanLineColor    扫描线的颜色「扫描线和默认的扫描线图片的颜色」@android:color/white

qrcv_scanLineMargin    扫描线距离上下或者左右边框的间距0dp

qrcv_isShowDefaultScanLineDrawable    是否显示默认的图片扫描线「设置该属性后 qrcv_scanLineSize 将失效,可以通过 qrcv_scanLineColor 设置扫描线的颜色,避免让你公司的UI单独给你出特定颜色的扫描线图片」false

qrcv_customScanLineDrawable        扫描线的图片资源「默认的扫描线图片样式不能满足你的需求时使用,设置该属性后 qrcv_isShowDefaultScanLineDrawable、qrcv_scanLineSize、qrcv_scanLineColor 将失效」null

qrcv_borderSize    扫描边框的宽度1dp

qrcv_borderColor    扫描边框的颜色@android:color/white

qrcv_animTime    扫描线从顶部移动到底部的动画时间「单位为毫秒」1000

qrcv_isCenterVertical    (已废弃,如果要垂直居中用 qrcv_verticalBias="0.5"来代替)扫描框是否垂直居中,该属性为true时会忽略 qrcv_topOffset 属性false

qrcv_verticalBias    扫描框中心点在屏幕垂直方向的比例,当设置此值时,会忽略 qrcv_topOffset 属性-1

qrcv_toolbarHeightToolbar     的高度,通过该属性来修正由 Toolbar 导致扫描框在垂直方向上的偏差0dp

qrcv_isBarcode    扫描框的样式是否为扫条形码样式false

qrcv_tipText    提示文案null

qrcv_tipTextSize    提示文案字体大小14sp

qrcv_tipTextColor    提示文案颜色@android:color/white

qrcv_isTipTextBelowRect    提示文案是否在扫描框的底部false

qrcv_tipTextMargin    提示文案与扫描框之间的间距20dp

qrcv_isShowTipTextAsSingleLine    是否把提示文案作为单行显示false

qrcv_isShowTipBackground    是否显示提示文案的背景false

qrcv_tipBackgroundColor    提示文案的背景色#22000000

qrcv_isScanLineReverse    扫描线是否来回移动true

qrcv_isShowDefaultGridScanLineDrawable    是否显示默认的网格图片扫描线false

qrcv_customGridScanLineDrawable    扫描线的网格图片资源nulll

qrcv_isOnlyDecodeScanBoxArea    是否只识别扫描框中的码false

qrcv_isShowLocationPoint    是否显示定位点false

qrcv_isAutoZoom        码太小时是否自动缩放false

更多的使用请看作者的git地址  里面用更详细的讲解

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,026评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,655评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,726评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,204评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,558评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,731评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,944评论 2 314
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,698评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,438评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,633评论 2 247
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,125评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,444评论 3 255
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,137评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,103评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,888评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,772评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,669评论 2 271

推荐阅读更多精彩内容

  • 摘要 最近,在公司项目上需要加入“二维码扫描”的功能(Android端),笔者在网上查阅了一些资料,实现了这个功能...
    梦想编织者灬小楠阅读 39,927评论 76 156
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,574评论 25 707
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,482评论 2 59
  • 莫不是人性本惰?因为我发现一旦有了一次,就会有第二次、第三次…… 这不,连着三天没完整的写篇文字了:第一天,刚写了...
    橴筱阅读 214评论 2 4
  • hamuoo哈木的房间 还记得吗?小时候,你可以整整一个下午都目不转睛地趴在地上看蚂蚁搬家,在寂静的森林和树枝上的...
    哈木的房间阅读 276评论 0 0