Programmatically changing underline color of EditText
@degs's answer is correct. But just add one little note: the AppCompatEditText#setSupportBackgroundTintList
is now annotated with @RestrictTo(LIBRARY_GROUP)
which means:
Restrict usage to code within the same group of libraries
Instead use ViewCompat#setBackgroundTintList
. So in your example, it should look like this:
ColorStateList colorStateList = ColorStateList.valueOf(color);
ViewCompat.setBackgroundTintList(editText, colorStateList);
You need to set the backgroundTintList
(or supportBackgroundTintList
) on the EditText
to an instance of ColorStateList
containing only the color you wish to change the tint to. An easy way to do this in a backwards-compatible way looks like this:
ColorStateList colorStateList = ColorStateList.valueOf(color);
editText.setSupportBackgroundTintList(colorStateList);
This will give the EditText
the desired underline color.