Какой атрибут темы изменяет цвет текста сообщения об ошибке 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
}