Android中的电子书阅读器分页问题

时间:2014-09-21 16:57:44

标签: android pagination epub navigationbar

我正在为Android创建一个电子书阅读器。当内容被分解为页面时,我遇到了问题。

以下是我的应用的3个屏幕截图。

enter image description here enter image description here enter image description here

正如您所看到的,内容并不完全适合屏幕。例如,最后一句应该在第一张图片上完成而不会跳到下一页。此外,由于有足够的空间,第三张图片的图像应该到达第二张图像的后半部分。 在某些页面中,内容也位于导航栏下方。

逻辑是:我得到整个内容,当找到空格时,获取前一个单词,然后检查文本高度是否大于屏幕高度。如果不再检查下一个空格并将下一个单词追加到先前收集的字符串。同样我得到了页面内容。

获取textHeight的代码如下,

    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个像素。但内容仍在导航栏下方。

所以我的问题是,

  1. 如何隐藏导航栏或如果无法隐藏它,那么如何获得它的确切高度
  2. 内容不适合屏幕的原因是什么,我实在找不到这个原因。 (我查了一个只有文字的电子书,底部有一些空白区域,但没有在栏下面)
  3. **我为图像放置了300像素的高度。使用ViewPager实现。

    感谢。

0 个答案:

没有答案