我认为这与
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());

}

10-05 19:07