Обоснуйте использование 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? Есть идеи как?

0 ответов

Другие вопросы по тегам