Как изменить цвет текста всплывающего сообщения об ошибке для EditText? - PullRequest
8 голосов
/ 24 января 2012

В ICS, при использовании темы на основе android:Theme.Light текст во всплывающем окне error при использовании setError(...) белый, как и фон.

Я могу решить эту проблему, добавив <item name="android:textColorPrimaryInverse">#ff000000</item> к моей теме. Хотя это помогает, я немного обеспокоен тем, что при таком изменении какого-либо другого текста, который использует textColorPrimaryInverse, он превратится из белого в черный и, возможно, не будет виден. Я бы предпочел просто изменить этот атрибут для EditText, который отображает всплывающее окно 1011 * или только для этого действия.

Разъяснение

Я хотел бы изменить свойство, предпочтительно цвет текста, всплывающего окна 1019 *, которое отображает сообщение об ошибке, когда пользователь вводит что-то неправильное в EditText.

Ответы [ 2 ]

1 голос
/ 07 декабря 2015

Вы можете сделать это так:

editText.setError(Html.fromHtml("<font color='red'>Error Message!</font>"));
0 голосов
/ 25 января 2012

В коде используйте http://developer.android.com/reference/android/view/View.html#setBackgroundResource(int) или http://developer.android.com/reference/android/view/View.html#setBackgroundColor(int). Они принадлежат View, но EditText наследует их.Второй метод легче, первый более последовательный.

Правка: О, это более сложный вопрос.Может быть, используя EditText.setError (ошибка CharSequence, значок Drawable), вы можете поместить текст ошибки на значок?Вы можете установить setBounds (Rect) для иконки, поэтому она может быть достаточно большой.Значок может быть нужного вам цвета.

Но я использую onKey, beforeTextChanged, onTextChanged и показываю свое сообщение об ошибке в виде тоста.Для тоста можно использовать обычный вид.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...