android中电子书阅读器分页问题
我正在为android创建一个电子书阅读器。当内容被拆分到页面时,我遇到了问题 下面是我的应用程序的3个屏幕截图 正如您所见,内容与屏幕并不完全匹配。例如,最后一句应该在第一张图像上完成,而不必跳到下一页。另外,第三张图片的图像应该位于第二张图片的后半部分,因为有足够的空间在某些页面中,内容也位于导航栏下方。 逻辑是:我获取整个内容,当找到一个空格时,获取上一个单词,然后检查文本高度是否大于屏幕高度。如果没有,请再次检查下一个空格,并将下一个单词附加到以前收集的字符串中。同样,我得到了页面内容 获取文本高度的代码如下所示android中电子书阅读器分页问题,android,pagination,epub,navigationbar,Android,Pagination,Epub,Navigationbar,我正在为android创建一个电子书阅读器。当内容被拆分到页面时,我遇到了问题 下面是我的应用程序的3个屏幕截图 正如您所见,内容与屏幕并不完全匹配。例如,最后一句应该在第一张图像上完成,而不必跳到下一页。另外,第三张图片的图像应该位于第二张图片的后半部分,因为有足够的空间在某些页面中,内容也位于导航栏下方。 逻辑是:我获取整个内容,当找到一个空格时,获取上一个单词,然后检查文本高度是否大于屏幕高度。如果没有,请再次检查下一个空格,并将下一个单词附加到以前收集的字符串中。同样,我得到了页面内
public int getTextHeight(final String text) {
TextView textView = new TextView(getContext());
textView.setText(text);
textView.setTextSize(TEXT_SIZE);
TextPaint textPaint = textView.getPaint();
return new StaticLayout(text.toString(), textPaint, getScreenWidth(),Alignment.ALIGN_NORMAL, 1.0f, 0.0f, true).getHeight();
}
屏幕高度代码
public int getScreenHeight() {
WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
wm.getDefaultDisplay().getMetrics(dm);
return dm.heightPixels;
}
**由于底部有一个导航条,我将屏幕高度减少了50个像素。但内容仍然放在导航栏下面
所以我的问题是
谢谢。您是如何将内容拆分成页面的?一种选择可能是让webview通过对内容应用列宽css规则来完成工作,将列宽设置为webview的宽度。Re:导航栏,可能有更好的方法,但是你可以把webview的高度缩小一点,这样它就在导航栏的上方。我必须使用TextView和ImageView。我不能使用web视图来完成这个项目。@chathura,你找到解决方案了吗?如果可能的话,你能和我分享一下代码吗?谢谢