界面定制
OCR SDK提供了不同程度的定制方式:
- 直接使用默认扫描界面
- 修改部分界面元素
- 完全重写UI
您可以根据实际需要,选择对界面的UI进行操作。本节文档会进行详细说明。
1.直接使用默认扫描界面
集成步骤请参考:使用指南
2.修改部分界面元素
- 扫描框线的颜色
- 扫描页背景的颜色和透明度
- 调整扫描框位置(横屏不支持此功能)
- 扫描页提示文字的内容;
- 自定义扫描页中的返回按钮
1.设置扫描框线的颜色:
scanIntent.putExtra(IDCardActivity.EXTRA_SCAN_GUIDE_COLOR, 0x7fffffff);
2.设置扫描页背景的颜色和透明度:
scanIntent.putExtra(IDCardActivity.EXTRA_SCAN_BACKGROUND_COLOR, 0x7fffffff)
3.调整扫描框上下的偏移量:
scanIntent.putExtra(IDCardActivity.EXTRA_SCAN_RECT_OFFSET, 50);
4.扫描页提示文字的内容:
scanIntent.putExtra(MyIDCardActivity.EXTRA_SCAN_TIPS, "请将身份证与扫描边缘对齐");
5.自定义扫描页中的返回按钮:
scanIntent.putExtra(MyIDCardActivity.EXTRA_BACK_DRAWABLE_ID, R.drawable.scan_back);
6.自定义扫描页标题:
scanIntent.putExtra(MyIDCardActivity.EXTRA_SCAN_TITLE,“请扫描身份证”);
7.是否开启扫描页光标:
scanIntent.putExtra(EXTRA_SCAN_LINE_STATUS,true);
3.完全重写UI
自定义扫描:
- 继承
BankCardActivity
或IDCardActivity
类,并覆其方法createOverlayView()
。 - 在方法中返回一个创建的
view
,这个view
将替代原有的扫描界面。 - 调用方法
getGuideFrame()
可获得扫描框的Rect
,根据Rect
位置自定义扫描界面。
自定义扫描后的处理方法:
- 继承
BankCardActivity
或IDCardActivity
类,并覆其方法onCardDetected(Card card, Bitmap cardBitmap, Bitmap rectifiedBitmap, Bitmap faceBitmap)
。 - 在该方法中进行处理时,应通过调用方法
pauseScanning()
暂停扫描。 - 处理结束后需要时,可通过调用方法
resumeScanning()
恢复扫描。 代码请参考MyIDCardActivity.java