Какой атрибут темы изменяет цвет текста сообщения об ошибке EditText - PullRequest
21 голосов
/ 19 июля 2011

В своей форме я использую setError("") в поле EditText. Моя заявка-тема распространяется android:Theme.Holo.
Я вручную установил изображение с темным фоном для android:errorMessageBackground и android:errorMessageBackgroundAbove.

А теперь вот проблема: цвет текста сообщения об ошибке также очень темный и не читаемый.

Я пытался изменить различные атрибуты textColor в своей теме, но не смог найти правильный.

Может кто-нибудь помочь мне, пожалуйста? Спасибо! Chris

Ответы [ 6 ]

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

Вы можете попробовать это:

editText.setError(Html.fromHtml("<font color='red'>Error Message!</font>"));
1 голос
/ 29 августа 2014

Вы можете изменить цвет текста, используя HTML Font Tag.

Но для настройки цвета фона вы должны сделать свой собственный всплывающий текст.Для получения дополнительной информации, пожалуйста, перейдите по этой ссылке: - Как написать стиль для текста ошибки EditText в Android?

0 голосов
/ 30 ноября 2017

Мой ответ работает, есть в котлине.

private fun setErrorOnSearchView(searchView: SearchView, errorMessage: String) {
    val id = searchView.context
            .resources
            .getIdentifier("android:id/search_src_text", null, null)
    val editText = searchView.find<EditText>(id)

    val errorColor = ContextCompat.getColor(this,R.color.red)
    val fgcspan = ForegroundColorSpan(errorColor)
    val builder = SpannableStringBuilder(errorMessage)
    builder.setSpan(fgcspan, 0, errorMessage.length, 0)
    editText.error = builder
}
0 голосов
/ 01 сентября 2014

Предполагая, что вы сделали что-то вроде этого:

EditText text = (EditText) findViewById(R.id.myedittext);

Вы можете сделать следующее:

text.setTextColor(Color.parseColor("#FFFFFF"));

или

text.setTextColor(Color.rgb(200,0,0));

или если вы хотите / нуждаетесь в альфа:

text.setTextColor(Color.argb(0,200,0,0));

Как бы то ни было, вы должны указать свои цвета в файле color.xml (лучше сохранить):

<color name="myColor">#f00</color>

и затем используйте его так:

text.setTextColor(getResources().getColor(R.color.myColor));

Веселитесь:)

0 голосов
/ 30 июля 2014

установите для свойства android:textColorPrimaryInverse="YourCOLOR" значение nedded.

0 голосов
/ 17 февраля 2012

выполните следующие действия в manifest.xml

<resources>
    <style name="LightErrorFix" parent="@android:style/Theme.Light">
         <item name="android:textColorSecondaryInverse">@android:color/secondary_text_light</item>
    </style>
</resources>
...