Обоснуйте использование Spannable String в TextView Android
Во-первых, я уже знаю, что мы можем использовать HTML и CSS для выравнивания текста. Реализация в этой библиотеке
Тем не менее, мне нужно оправдать внутри моего AutoResizeTextView
и я обнаружил, что это несовместимо, если я использую библиотеку выше. Я использую много стилей шрифтов и различный размер шрифта, и я хочу, чтобы они соответствовали ширине текстовой области. небольшая картина того, что я пытаюсь сделать
Я использую несколько Spannable Strings
и придать этим интервалам различный эффект, а затем объединить их в AutoResizeTextview. Слабость, которую я нашел до сих пор: Typefaces
, который имеет тот же размер шрифта, может иметь разную ширину и трудно обосновать..
Когда я захотел измерить размер шрифта в AutoResizeTextView, чтобы дать каждому интервалу разный размер шрифта (в надежде, что он может иметь одинаковую ширину с другими интервалами), программа внезапно останавливается.. (Может быть, потому что у меня много гарнитур внутри AutoResizeTextView).
paint.setTypeface(textView.getTypeface());
float textSize = textView.getTextSize();
paint.setTextSize(textSize);
Другая вещь, которую я пытался, но тоже не удалось..
Paint paint = new Paint();
Rect bounds = new Rect();
float textSize = 12;
paint.setTypeface(f1);
paint.setTextSize(textSize);
paint.getTextBounds(line1, 0, line1.length(), bounds);
while (bounds.width() > auto_text.getWidth())
{
textSize--;
paint.setTextSize(textSize);
paint.getTextBounds(line1, 0, line1.length(), bounds);
}
Log.e("Textsize ", "=" +textSize);
Итак, как сделать текст выровненным, как на картинке выше, используя span? Есть идеи как?