Я не знаю точного ответа на ваш вопрос, но обычно вы можете рассчитать ширину и высоту текста на основе типа и размера шрифта, используя методы, доступные в графической библиотеке.
Я сделал это на C # и Java.в C # он называется «MeasureString», а в Java - «FontMetrics».
EDIT:
Проверьте, полезен ли этот код (я не скомпилировал его, потому что у меня нет androidSDK здесь):
String myText="";
String tempStr="";
int startIndex=0;
int endIndex=0;
//calculate end index that fits
endIndex=myPaint.breakText(myTest, true, frameWidth, null)-1;
//substring that fits into the frame
tempStr=myText.substring(startIndex,endIndex);
while(endIndex < myText.length()-1)
{
//draw or add tempStr to the Frame
//at this point
//set new start index
startIndex=endIndex+1;
//substring the remaining of text
tempStr=myText.substring(startIndex,myText.length()-1);
//calculate end of index that fits
endIndex=myPaint.breakText(tempStr, true, frameWidth, null)-1;
//substring that fits into the frame
tempStr=myText.substring(startIndex,endIndex);
}
Аналогичные методы доступны для Android:
breakText(String text, boolean measureForwards, float maxWidth, float[] measuredWidth)
Измерьте текст, останавливаясь раньше, если измеренная ширина превышает maxWidth.
measureText(String text)
Возвращает ширину текста.
http://developer.android.com/reference/android/graphics/Paint.html