Как рассчитать ширину шрифта строки в пикселях?

Я хочу рассчитать ширину шрифта строки в пикселях в андроиде. У меня есть строковый массив, и я добавляю все эти элементы массива для создания одной строки. поэтому я должен установить фиксированное расстояние между двумя последовательными элементами массива. Я помещаю эту финальную строку в textview. Наконец, я добавляю этот текст в tablerow. Короче, я хочу просмотреть структуру таблицы с заголовком и значениями. Я видел много сообщений здесь, но не получал решения для этого.

Спасибо заранее...!!!

3 ответа

Похоже, существует метод measureText, доступный на Paint. Я также нашел example:

mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setStrokeWidth(5);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setTextSize(64);
mPaint.setTypeface(Typeface.create(Typeface.SERIF, Typeface.ITALIC));
// ...
float w = mPaint.measureText(text, 0, text.length());


Спасибо Джейку за рабочее решение, но я нашел, что это тоже работает для меня:

someText = "Lorem Ipsum";
TextView myTextView = (TextView) findViewById(R.id.myTextView);
float w = myTextView.getPaint().measureText(someText);

Получение Paint непосредственно из TextView, с которым я буду работать, заставляет меня чувствовать, что anwser будет более точным.


Я не знаю, работает ли это, но может.

int textSize=20;
Paint p=new Paint();
p.setTextSize(textSize);
String string="Hello im a string.";
public int getStringWidt()
{
 return string.length*textSize;
}

licensed under cc by-sa 3.0 with attribution.