Android TextView中的分页

时间:2011-06-03 08:03:44

标签: android text pagination screen textview

我在文件[~100 KB]中有一些文字需要在TextView中显示给用户。我想将文本拆分成页面。

这是我想要实现分页的想法:

  • 确定屏幕宽度和屏幕高度,例如320 x 480
  • 计算75%的高度,[360 px]以容纳按钮等。
  • 确定字体大小
  • 计算可以显示的字符数[N]。
  • 从文件中读取并仅显示N个字符数。

这似乎可行,但看起来很粗糙且容易出错。有没有人有更好的想法?

1 个答案:

答案 0 :(得分:1)

您应该创建自己的TextView扩展并连接到onMeasure函数,该函数应该为您提供宽度和高度(prob想要给textview layout_weight = 1)

然后你可以使用绘画来获取文本占用的大小,而不是我没有测试过这个,你可能需要做一些事情来解释换行符。但这是一个好的开始......

Paint paint = new Paint();
Rect bounds = new Rect();

int text_height = 0;
int text_width = 0;

paint.setTypeface(Typeface.DEFAULT);
paint.setTextSize(12);// have this the same as your text size

String text = "Some random text";

paint.getTextBounds(text, 0, text.length(), bounds);

text_check_h =  bounds.height(); // Will give you height textview will occupy
text_check_w =  bounds.width();  // Will give you width textview will occupy