Chris
Chris

Reputation: 305

Which theme attribute changes the text color of an EditText's error message

In my form, I use setError("") on an EditText field. My Application-Theme extends android:Theme.Holo.
I have manually set an image with a dark background for android:errorMessageBackground and android:errorMessageAboveBackground.

And now here's the problem: The text color of the error message is also very dark and not readable.

I tried changing different textColor attributes in my Theme, but I wasn't able to find the correct one.

Can anyone could help me, please?

Upvotes: 23

Views: 10232

Answers (6)

Emmanuelguther
Emmanuelguther

Reputation: 1059

My response works, is in kotlin.

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
}

Upvotes: 0

mostar
mostar

Reputation: 4841

You can try this one:

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

Upvotes: 1

user3862505
user3862505

Reputation: 1

set the property android:textColorPrimaryInverse="YourCOLOR" to the color nedded.

Upvotes: 0

Xenonite
Xenonite

Reputation: 1957

Assuming you did sth like this:

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

you can do the following:

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

or

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

or if you want/need alpha:

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

Anyhow, you should specify your colors in your color.xml (wayyy better to be maintained):

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

and then use it like this:

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

Have fun :)

Upvotes: 0

Pradeep
Pradeep

Reputation: 104

You can change the text color by using HTML Font Tag.

But for customizing background color, you should make your own custom pop up. For more information, Kindly go through this link:- How to write style to error text of EditText in android?

Upvotes: 1

Ronak Mehta
Ronak Mehta

Reputation: 5979

do following in manifest.xml

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

Upvotes: 0

Related Questions