Как автоматически настроить размер текста в многострочном TextView в соответствии с максимальными размерами представления?

искал способ автоматического подгонки текста внутри textview. Благодаря моему поиску яМы нашли много решений, таких как:

FontFitTextViewAutoResizeTextViewAutoScale / Resize

Но, как и многие другие, это нене решить мою проблему. Они нене работает должным образом, когда мы используем TextView с многострочным.

В основном моя цель заключается в следующем:

   

Как видите, размер текста изменяется в зависимости от ширины, высоты, а также обращает внимание на разрыв строки, создавая многострочное текстовое представление. Также сможете изменить шрифт.

Одна из моих идей, чтобы решить это было что-то вроде этого:

int size = CONSTANT_MAX_SIZE;
TextView tv = (TextView) findViewById(R.id.textview1)
while(Math.abs(tv.getMeasuredHeight()) >= TEXTVIEW_MAX_HEIGHT) {
    size--;
    tv.setTextSize(size);
    tv.measure(MeasureSpec.UNSPECIFIED,MeasureSpec.UNSPECIFIED);
    i++;
}

CONSTANT_MAX_SIZE - это константа, определяющая максимальный размер шрифта (правильность текстов в TextView)

TEXTVIEW_MAX_HEIGHT - это константа, определяющая максимальный размер, который может иметь текстовое представление.

Это вызывалось каждый раз, когда текст в текстовом представлении изменялся.

Текстовое представление xml было примерно таким:


Поскольку ширина будет ограничена в XML, необходимо учитывать только высоту представления, так как его настройка для Android автоматически создаст мультилинию при необходимости.

Хотя это потенциальное решение нене работает идеально (далеко от этого), и это неПоддержка уменьшения размера (при удалении текста).

Любые предложения и / или идеи?

Ответы на вопрос(6)

Ваш ответ на вопрос