我在文件[~100 KB
]中有一些文字需要在TextView
中显示给用户。我想将文本拆分成页面。
这是我想要实现分页的想法:
320 x 480
。px
]以容纳按钮等。N
]。N
个字符数。这似乎可行,但看起来很粗糙且容易出错。有没有人有更好的想法?
答案 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