我认为这与
Set width of TextView in terms of characters
我有一个文本视图,显示一些报告数据。我对其中的一部分使用了一个单空间的typefacespan,因为我希望列排成一行。
我用我测试的android设备计算出我能容纳多少列,但是android模拟器似乎少了一列,这使得事情在纵向模式下以一种丑陋的方式包装。
有没有办法找出一行应该有多少个字符?
最佳答案
答案是使用textView绘制对象的breakText()。这是一个样品,
int totalCharstoFit= textView.getPaint().breakText(fullString, 0, fullString.length(),
true, textView.getWidth(), null);
现在
totalCharstoFit
包含可以放入一行的确切字符。现在您可以将完整字符串的子字符串附加到textview中,如下所示,String subString=fullString.substring(0,totalCharstoFit);
textView.append(substring);
要计算剩余的字符串,可以这样做,
fullString=fullString.substring(subString.length(),fullString.length());
现在完整的密码,
在一段时间内做这个,
while(fullstirng.length>0)
{
int totalCharstoFit= textView.getPaint().breakText(fullString, 0, fullString.length(),
true, textView.getWidth(), null);
String subString=fullString.substring(0,totalCharstoFit);
textView.append(substring);
fullString=fullString.substring(subString.length(),fullString.length());
}