Я создаю текст во время выполнения, который будет помещен в TextView. Этот текст составлен шрифтами разного размера. Я должен рассчитать ширину этого текста в пикселях. Я пробовал использовать Paint.measureText, но он не учитывает разные размеры шрифта. Как я могу вычислить реальную ширину?
это пример:
LinearLayout text = (LinearLayout) findViewById(R.id.LinearLayout);
SpannableStringBuilder str = new SpannableStringBuilder("0123456789");
str.setSpan(new RelativeSizeSpan(2f), 3, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
TextView tmp = new TextView(this);
tmp.setText(str,BufferType.SPANNABLE);
text.addView(tmp);
Float dim = tmp.getPaint().measureText(str, 0, str.length());
В этом примере, если я установил относительный размер на «2f» или «3f» (например), общий размер, который возвращает «MeasureText» то же самое.
Спасибо