SetHintTextColor() в EditText
У меня есть представление, в котором есть два текстовых поля, и пользователь может выбрать цвет текста из другого представления на том же экране (через диалоговое окно).
Итак, когда пользователь меняет цвет через диалоговое окно, я меняю цвет текста EditText
и его подсказку. Но когда в EditText
имеется некоторый текст, после этого пользователь выбирает другой цвет, тогда этот текст поступает в этот цвет. Но если я удалю весь этот текст, то цвет HintText будет соответствовать цвету предыдущего цвета.
Например, в настоящее время, если у меня есть красный цвет в текстовом поле, и пользователь выбирает зеленый цвет, чтобы текст был в зеленом цвете. Но если я удалю этот текст, тогда текст подсказки будет красным, даже если я измените цвет подсказки в коде. Эта проблема возникает только тогда, когда есть текст. если оно пустое и текст подсказки там, то проблема не наступает.
Ответы
Ответ 1
Используйте это, чтобы изменить цвет подсказки. -
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));
}
});
Ответ 2
Просто добавьте это в свой layout
для EditText
:
Android: textColorHint = "# FFFFFF"
Ответ 3
Цвета по умолчанию:
android:textColorHint="@android:color/holo_blue_dark"
Код цвета:
android:textColorHint="#33b5e5"
Ответ 4
Внутренний макет Xml файла Мы можем изменить цвет подсказки.....
android:textColorHint="@android:color/*****"
вы можете заменить * цветом или цветовым кодом.
Ответ 5
Кажется, что EditText применяет hintTextColor только в том случае, если текст пуст. Так простое решение будет таким:
Editable text = mEditText.getText();
mEditText.setText(null);
mEditText.setHintTextColor(color);
mEditText.setText(text);
Если у вас несколько полей, вы можете расширить EditText и написать метод, который выполняет эту логику и использует этот метод.
Ответ 6
Программно в Java - по крайней мере, API v14 +
exampleEditText.setHintTextColor(getResources().getColor(R.color.your_color));
Ответ 7
Это как цвет подсказки по умолчанию, работал у меня:
editText.setHintTextColor(Color.GRAY);