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

前端 未结 6 1422
無奈伤痛
無奈伤痛 2021-01-07 18:17

In my form I use setError(\"\") on an EditText field. My Application-Theme extends android:Theme.Holo.
I have manually set an imag

相关标签:
6条回答
  • 2021-01-07 18:24

    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
    }
    
    0 讨论(0)
  • 2021-01-07 18:34

    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>
    
    0 讨论(0)
  • 2021-01-07 18:34

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

    0 讨论(0)
  • 2021-01-07 18:35

    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?

    0 讨论(0)
  • 2021-01-07 18:42

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

    0 讨论(0)
  • 2021-01-07 18:50

    You can try this one:

    editText.setError(Html.fromHtml("<font color='red'>Error Message!</font>"));
    
    0 讨论(0)
提交回复
热议问题