Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

一些建议 #8

Open
BrightVan opened this issue Apr 28, 2018 · 6 comments
Open

一些建议 #8

BrightVan opened this issue Apr 28, 2018 · 6 comments

Comments

@BrightVan
Copy link

首先觉得作者这个做的还可以,至少体验上比其他的库快。自己也想做类似的库,但对相关的api不太熟,思路不清晰。不过建议是可以提的。
1、预览框和外面上下左右的阴影,是否有必要分开做。而且这个布局比较简单,完全用不到约束布局,不建议有了MaskRelativeLayout,还搞一个MaskConstraintLayout。没必要,约束布局还要引入一个库,这对一个本身就是库的来说,不太好。建议删除,也不需要花时间在这上面。
2、不管是zxing还是zbar,都是只负责解码和生成码的,不涉及UI以及camera预览,以及拾取的图像回调,所以做这类库,也主要就是封装这些东西,至于怎么处理解码,可以写个接口,然后就可以自己选(图像数据回调给接口了,至于怎么解析,选择zxing还是zbar,可以动态控制,zbar太大啦)。可以参考下面这个库的设计:https://github.com/themaster-gh/BGAQRCode-Android-master
3、接口设计有点复杂。用这个库的的话,需要实现3个接口CameraScanner.CameraListener, TextureView.SurfaceTextureListener, GraphicDecoder.DecodeListener,其实我觉得可以合并成一个接口就好,这些接口的很多方法在库的内部实现就可以(因为代码都是固定的,没必要每次都copy一遍)。
4、好像没有闪光灯控制的接口。不过按照计划,这个也会加的。

@Simon-Leeeeeeeee
Copy link
Owner

第一点,我希望扫码界面布局可以更大限度地自由发挥,我尝试过直接做一个充满父布局的ScannerFrameView,外面绘制阴影,内部绘制扫码框。但是布局内相对扫码框定位的一些View就不太好控制,例如要控制提示文字距离扫码框底部10dp,这个就很难实现。当然我也可以把提示文字加入ScannerFrameView进行绘制,但如果需求变成一副图片一个按钮等等,页面可定制性就大打折扣。
第一点补充,有了MaskRelativeLayout之外还搞一个MaskConstraintLayout,是我个人认为ConstraintLayout比RelativeLayout好用,可以控制ScannerFrameView在父容器中任意比例的位置。而不是只能居中或者上下左右。如果较多开发者反馈,我会考虑从zbar移到app中,届时如果需要,开发者可以自行定制MaskConstraintLayout。
第二点,zxing有计划添加,GraphicDecoder接口就是为了兼容zbar和zxing而准备的。以后会退出zxing版及zabr&zxing混合版。
第三点,我希望XCodeScanner具有很高的可定制化,所以设计了很多接口来进行解耦。这样做的确实会显得有点复杂,不能一行代码搞定。但是我觉得应该考虑更多个性化的需求,让开发者能够自定义他想要的规则。在我提供的方案不能满足他的需求时,他还可以自己写一个实现类继承我设计的接口来达到目的。
第四点,该有的都会有。不过目前只有我一个人,所以进度上不能保证,但是我一定会坚持下去。

@lchad
Copy link

lchad commented May 10, 2018

直接上 C++版本的 zxing 吧,我花了好久验证过这个问题,无论是速度,识别率, 误识率都强于 zbar,尤其是 tough code.

目前市面上扫码的极致是 Scandit, 非常屌.

@lchad
Copy link

lchad commented May 10, 2018

@Simon-Leeeeeeeee
Copy link
Owner

@lchad 感谢反馈。我对这个Scandit比较好奇,能介绍一下吗?

@lchad
Copy link

lchad commented May 10, 2018

https://www.scandit.com/

@johnwatsondev
Copy link

@lchad 兄台研究这个 Scandit 怎么样了?有什么可以分享的吗?可以一起搞噢。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants