Как автоматически настроить размер текста в многострочном 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 автоматически создаст мультилинию при необходимости.
Хотя это потенциальное решение нене работает идеально (далеко от этого), и это неПоддержка уменьшения размера (при удалении текста).
Любые предложения и / или идеи?