Как динамически изменять размер текста виджета EditText в Android?

#android #android-widget #android-edittext

#Android #android-виджет #android-edittext

Вопрос:

Я хочу изменить размер текста EditText по мере ввода текста. Это означает, что изначально текст большой, но когда пользователь вводит текст (увеличивает длину текста), размер текста должен постепенно уменьшаться. Есть ли какой-либо встроенный стиль или тема для EditText виджета, который автоматически регулирует размер текста в EditText ?

Комментарии:

1. Не знаю, как вы, но для меня приложение с такой функцией было бы раздражающим / запутанным в использовании. Не удивляйте пользователя.

Ответ №1:

Я думаю, вы можете попробовать этот метод: setTextAppearance(Context context, int resid)

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

(или)

 setTextSize(float size)
  

Установите размер текста по умолчанию на заданное значение, интерпретируемое как единицы измерения «масштабированный пиксель».

(или)

 setTextSize(int unit, float size)
  

Установите размер текста по умолчанию в заданную единицу и значение.

Ответ №2:

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

Я бы, однако, повторил комментарий Габриэля Негута. То, что вы пытаетесь сделать, является стандартным для iOS, но будет чуждо пользователям вашего Android. Ваше приложение всегда должно вести себя так, чтобы оно соответствовало тому, к чему они привыкли в других ОС, и попытка заставить ваше приложение вести себя как приложение для iOS только запутает ваших пользователей.