Mupdf源码分析之MuPDFActivity类分析(一)

来源:互联网 发布:淘宝运营公司 编辑:程序博客网 时间:2024/05/22 09:49

最近一直在做毕业设计,是有关pdf阅读的app。之前也上网找了很多开源库,发现MUPDF确实是最多人推荐的,下个实现案例感觉确实功能挺多的。废话不多说,作为在下的第一篇处女座技术博客,希望能起个好头吧。

因为MUPDF库还是不少代码量的,自然不可能一下子把源码分析完,此次分析的是个人认为比较直接的MuPDFActivity类。

MuPDFActivity是一个具体实现类,是直接阅读文档时所运用到的类:其中包括点击界面触发的一系列事件、对文档进行复制、重排、搜索以及其他的注解点击事件。

@Overrideprotected void onHit(Hit item) {   switch (mTopBarMode) {   case Annot:      if (item == Hit.Annotation) {         showButtons();         mTopBarMode = TopBarMode.Delete;         mTopBarSwitcher.setDisplayedChild(mTopBarMode.ordinal());      }      break;   case Delete:      mTopBarMode = TopBarMode.Annot;      mTopBarSwitcher.setDisplayedChild(mTopBarMode.ordinal());   // fall through   default:      // Not in annotation editing mode, but the pageview will      // still select and highlight hit annotations, so      // deselect just in case.      MuPDFView pageView = (MuPDFView) mDocView.getDisplayedView();      if (pageView != null)         pageView.deselectAnnotation();      break;   }}
这是在阅读界面时,点击界面发生的事件,包括所有功能下你点击界面时都会触发的方法。代码很简单,就是在哪种条件下(名字起得一下就看懂了)TopBar所显示的具体工具条。
public void OnCopyTextButtonClick(View v) {   mTopBarMode = TopBarMode.Accept;   mTopBarSwitcher.setDisplayedChild(mTopBarMode.ordinal());   mAcceptMode = AcceptMode.CopyText;   mDocView.setMode(MuPDFReaderView.Mode.Selecting);   mAnnotTypeText.setText(getString(R.string.copy_text));   showInfo(getString(R.string.select_text));}
这个也很明显,就是点击复制按钮时所触发的事件,其实后面那些触发事件都很明显,这个库唯一令我觉得有点麻烦的就是注释不是很多,英文注释看起来也很吃力。所以我经常会在每个方法里面加一句Toast消息提示框,用这个来验证我的猜想还是挺方便的。
马上有事要出去了,我的第一篇处女博客就到这吧,后面还会有继续的分析。
这个只是我的第一次尝试,我也知道自己很水,所以还有很多要学习的。

1 0
原创粉丝点击