前两天,公司急匆匆的接了一个项目,说起来也不难,就是一个浏览类的app,需要对word内容进行检索,再定位到检索的那个位置,于是让我先做一个小demo,看一下是如何实现的。
据我的了解,Android加载word的库有POI,但是只是将word内容转化成html页面再用webview展示出来,于是我想了个笨方法,将html内容解析然后在进行检索,用html标签对其改变字体颜色,再寻找出关键字所在的段落,然后用listview展示搜索到的集合。点击这个段落定位到关键字的位置,因为webview有个方法scrollTo可以滚动到指定位置,关键是怎么计算,我能想到的是先计算这一个关键字之前的段落文字的高度+段与段之间的距离,段落之间的距离通过文字大小、屏幕的宽度以及字数进行计算,最终算出的结果并不是很准,但也在屏幕中能看到这个段落。