计算适合文本视图的最大字符数(具有预定义大小,例如 20dp)android

Calculate max number of characters (having predefined size eg 20dp) that will fit in a text view android

我需要计算多少个字符(具有预定义大小,例如 20dp)将适合文本视图以将长文本分成不同的视图?喜欢任何 reader 应用程序

我正在使用以下代码,该代码适用于单行。我的问题是如何确定适合各种屏幕尺寸的文本视图的最大行数?

string abc = "This string is a loooong string";
final float densityMultiplier = getResources().getDisplayMetrics().density;
final float scaledPx = 20 * densityMultiplier;

int numChars;
Paint paint = txtArea.getPaint();
paint.setTextSize(scaledPx);
for (numChars = 1; numChars <= abc.length(); ++numChars)
{
     if (paint.measureText(abc, 0, numChars) >= screenWidthDp)
     {
          break;
     }
}

简单地使用TextView.getLineHeight()来获取线的高度