Я строю текст во время выполнения, который будет помещен в 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», будет таким же.
Спасибо