Можно ли передать из EditText в TextView не только текст, но и цвет текста, его размер и толщину?

Рейтинг: 0Ответов: 1Опубликовано: 31.07.2023

У меня в активности есть ЭдитТекст, где я ввожу текст и изменяю его параметры (textSize, textColor,bold/italic) и фон. Всё работает.

Дальше по нажатию кнопки текст с параметрами должен передаваться в TextView в виджете. Я сделала код для передачи текста и фона из EditText в TextView и он работает, но как передать параметры текста я не знаю. Пробовала сделать по аналогии, но с textSize у меня проблема с float, а с textColor то, что в ЭдитТекст нет метода getTextColor() и я не могу получить последнее значение textColor. Можно ли вообще передать текст с параметрами из ЭдитТекст в ТекстВьев?

Ответы

▲ 1Принят

Предположим, у вас есть editText и textView:

EditText editText = findViewById(R.id.myEditText);
TextView textView = findViewById(R.id.myTextView);

Чтобы для textView задать размер текста, цвет текст и стиль такие же, как у editText, воспользуйтесь соответствующими методами:

textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, editText.getTextSize());
textView.setTextColor(editText.getCurrentTextColor());
textView.setTypeface(editText.getTypeface());

Обратите внимание, чтобы правильно выставить размер текста, необходимо первым аргументом передать константу COMPLEX_UNIT_PX, так как getTextSize() возвращает размер в пикселях.

Результат:

скриншот