开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 0

大雯/Reader

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
Reader
/
reader
贡献代码
同步代码
对比差异 通过 Pull Request 同步
同步更新到分支
通过 Pull Request 同步
将会在向当前分支创建一个 Pull
Request,合入后将完成同步
File empty ...
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
1.ReaderView(继承自adapterView,属于整个框架)
 -->onMeasure :先计算屏幕的宽高与pdf宽高的比例。再计算目前的缩放比例,用来设置子view的宽高
 -->onLayout:
 -->a.判断是否移动,也就是说是否需要绘制下一页。如果需要下一页则,清除当前页,创建下一页,并且绘制高亮框等控件
 -->b.将无用的page页面,清空并且复用
 -->c.给当前页面布局
 -->d.如果存在上一页或者,下一页则布局
 创建一个pdf页面的方法getOrCreateChild()
 MuPDFReaderView继承ReaderView,-->内部主要实现AdapterView的点击,滑动,触摸等事件
 MuPDFPageView(对应具体的一页PDF)
 -->blank ,清空页面,显示loading
 -->setpage,
 设置pdf的页面的实际大小
 加载Annotations, 加载Widget:这两项与pdf具体属性有关,暂时页面上没体现出来是加载什么
 --> Point mPatchViewSize;//表示图片的实际大小
 Rect mPatchArea; //表示显示在屏幕区域的pdf的rect,不能大于屏幕的区域
2.ScaleGestureDetector图片缩放
3.Scroller
 --->scrollTo()还是scrollBy()方法,滚动的都是该View内部的内容
 --->scrollTo/scrollBy,以为X轴,为例子。正值向左移动,负值向右移
4.ndk 两中编译方式:ndk-build来构建,一种是CMake构建原生库。这个是Google新提出的,比较方便强大。
5.view.post方法,通过发消息的方式,保证操作在onlayout之后执行
6.搜索功能
  -->SearchTaskResult.java //搜索结果,包括当前页码,搜索内容,搜索结果
  -->SearcTask.java //搜索,AsyncTask
  -->搜索到内容
     -->setDisplayedViewIndex
      -->清空当前页注释
       -->重设当前页面,并且重绘制
     -->绘制当前前后3页的,搜索框
7.初始化时,高亮,下划线,删除线,墨迹等的加载
 MuPDFPageView.java
 -->setPage()
 -->loadAnnotations //加载批注
 -->mLoadWidgetAreas //加载wdget区域
 -->mGetLinkInfo  //高亮并且启用墨迹
 -->渲染pdf
 -->绘制mSearchView表示:高亮/搜索框/触摸屏幕选择高亮,下划线,删除线时/删除框/墨迹
  -->确定下划线,删除线.这两个是在so文件中绘制的.没有在java中处理
8.提取功能点
 -->浏览模式
 -->切换屏幕
 -->目录:代码在 OutlineActivity中
 -->搜索:
  -->searchText,//按键监听
  -->内容变化监听
  -->搜索内容有向前向后之分
  -->SearchTask搜索/SearchTaskResult
  -->搜索到内容后,重绘,并且将搜索内容绘制出来
 -->选择文本
  -->调用ReaderView的onScroll方法
  -->计算对应当前缩放比时的坐标,计算真实文档中的坐标
 -->取出当前页面的所有text内容(以及其真实的坐标)
 -->将符合当前选中区域的文本,拼接成最终需要绘制的区域.
 -->因为结算的一直是,真是文本中的坐标,此时再根据缩放比例,计算当前页面真正的绘制区域
 -->复制文本:选择文本结束后,将选择区域清空,再重绘制即可
 -->高亮,下划线,删除线,都是基于选择文本.
  -->在确定的内容框中做处理.
 -->doselect 取消掉之前"选择文本"的颜色框子
 -->墨迹:onTouchEvent中,记录每个点的坐标
 -->down:从down-move-up,这些点放入到一个ArrayList中,页面中的所有线,再放入ArrayList<ArrayList<Point>>
 -->move:
 -->保存确认绘制:将坐标点以二维数组形式,存储起来
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

高仿多看阅读器apk,支持PDF解析.文档支持搜索,高亮文字,墨迹等功能
暂无标签
README
Apache-2.0
使用 Apache-2.0 开源许可协议
取消

发行版

暂无发行版

贡献者

全部

语言

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/big_when/Reader.git
git@gitee.com:big_when/Reader.git
big_when
Reader
Reader
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /