setHintTextColor () в EditText

У меня есть представление, в котором есть два текстовых поля, и пользователь может выбрать цвет текста из другого представления на том же экране (через диалоговое окно).

Поэтому, когда пользователь меняет цвет через диалоговое окно, я меняю цвет текста EditText и его подсказки. Но когда есть некоторый текст доступен в EditText после того, как пользователь выбирает другой цвет, тогда этот текст поступает в этот цвет. Но если я удалю весь этот текст, то цвет HintText будет соответствовать цвету предыдущего цвета.

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

Используйте это, чтобы изменить цвет подсказки. –

 editText.setHintTextColor(getResources().getColor(R.color.white)); 

Решение вашей проблемы –

 editText.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence arg0, int arg1, int arg2,int arg3){ //do something } @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { //do something } @Override public void afterTextChanged(Editable arg0) { if(arg0.toString().length() <= 0) //check if length is equal to zero tv.setHintTextColor(getResources().getColor(R.color.white)); } }); 

Просто добавьте это в свой layout для EditText :

андроид: textColorHint = “# FFFFFF”

Цвета по умолчанию:

 android:textColorHint="@android:color/holo_blue_dark" 

Для цветового кода:

 android:textColorHint="#33b5e5" 

Внутри макета Xml-файла мы можем изменить цвет подсказки …..

 android:textColorHint="@android:color/*****" 

вы можете заменить * цветом или цветовым кодом.

Кажется, что EditText применяет hintTextColor только в том случае, если текст пуст. Так простое решение будет таким

 Editable text = mEditText.getText(); mEditText.setText(null); mEditText.setHintTextColor(color); mEditText.setText(text); 

Если у вас несколько полей, вы можете расширить EditText и написать метод, который выполняет эту логику и использует этот метод.

Программно в Java – по крайней мере, API v14 +

exampleEditText.setHintTextColor(getResources().getColor(R.color.your_color));

Это как цвет подсказки по умолчанию, работал для меня:

editText.setHintTextColor(Color.GRAY);

Вы можете вызвать editText.invalidate() после сброса цвета подсказки. Это может решить вашу проблему. Фактически SDK обновляет цвет таким же образом.

  • android EditText - завершение ввода текста
  • Ограничить десятичные места в Android EditText
  • Android TextField: программно настроить фокус + программный ввод
  • EditText Settext не работает с fragmentом
  • Android: Как я могу проверить ввод EditText?
  • Установка onClickListner для права Drawable EditText
  • Как нарисовать округленный прямоугольник в Android UI?
  • Android - ручка «Enter» в EditText
  • Знание редактирования редактируемого текста
  • как изменить цвет фокуса EditText в Android
  • EditText setError () со значком, но без всплывающего сообщения
  • Давайте будем гением компьютера.