FreePerson2023年03月11日
190阅读
所属分类政府文化

作品详情

实现 OFD/PDF 文档的预览,提供 OFD 格式特有的语义导览功能,支持图形标注、文本标注、手写签批等功能
技术攻坚:
1. 签章:获取.so 签章库中的得到的图片字节流,图片尺寸,通过 onTouch跟 onDraw 事件,显示在自定义 View上,用来实现,签章的缩放移动
2. 手写笔:View 的绘制,onDraw 方法,事件处理,复写 onTouchEvent 方法来计算收集手写笔点的集合
3. 打字机:在文档上通过手机键盘输入法,输入文字,onDraw 方法显示内容,光标,重写 Editext 方法用来换行,且重写设置一个工具类用来管理文字的字体,字号的变化
4. 文本朗读:借助于 TTS 的支持,朗读主要通过 TextTospeech 来完成,该类提供了 TextTospeech 构造器作为引擎,在通过 setLanguage 设置语言,通过 speak 设置文字转化成语音,最后在关闭 TTS ,回收资源
5.语义数:树状结构数据
● 将每条数据都看作是 listview 的一个 item ,按照它们之间的关系,将这些 item 由上到下排序。然后将每个 item 设置为不同的显示状态,再加上点击每个 item 会联动其他相应 item 的显示状态改变,这样就达到了树状结构导航的目的。
● 将每条原始数据都转化为节点数据,因为每个节点数据里有: a、子节点、父节点:这个很重要,因为每条数据的缩进、图标的设置、是否展示,都要依据每条数据间的父子关系来进行判断展示; b、左边距的空格数:设置缩进,以展现树状结构效果 c、展开的状态:说明此节点目前是否展开
● 在适配器配置这条节点数据的 View时,依据这条节点数据的各个属性,来做不同的展示,以达到最终树状结构展示效果的目的
6. 自动化测试:使用了 UI Automator 的框架,涉及的方法包括 UiDevice 对象,UiSelector 对象,UiObject 对象等。
7. 签批的 undo,redo:
● 首先需要创建一个签批添加,删除,修改后用来获取属性的类,包括颜色,透明度,位置坐标等等
● 接着创建一个增删的堆栈集合
● 最后在删除,添加等监听事件后传入参数
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论