Какой атрибут темы изменяет цвет текста сообщения об ошибке EditText

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

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

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

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

Ответ 1

Вы можете изменить цвет текста с помощью тега шрифта HTML.

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

Ответ 2

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

editText.setError(Html.fromHtml("<font color='red'>Error Message!</font>"));

Ответ 3

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

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

Ответ 4

задайте свойство android:textColorPrimaryInverse="YourCOLOR" к цвету.

Ответ 5

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

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));

Удачи:)

Ответ 6

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

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
}