在Edittext Android中编辑下划线的颜色

use*_*708 1 java android android-edittext

我想在Edittext中更改下划线的颜色,并按照一些教程来执行此操作.

我创建这个xml文件:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item>
        <shape android:shape="rectangle" >
            <solid android:color="#00FFFFFF" />

            <padding android:bottom="2dp" />

            <stroke
                android:width="1dp"
                android:color="#FFFFFF" />
        </shape>
    </item>


</layer-list>
Run Code Online (Sandbox Code Playgroud)

但我只做下划线而不是所有矩形,类似于默认线但是蓝色和纯色背景的白色内部.

我怎样才能做到这一点?

谢谢

Zai*_*ona 5

您也可以以编程方式更改它:

public static void changeEditTextUnderlineColor(EditText editText) {
    int color = Color.parse("#[putColorHere]")
    Drawable drawable = editText.getBackground();
    drawable.setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
        editText.setBackground(drawable);
    } else {
        editText.setCompoundDrawables(null, null, drawable, null);
    }
}
Run Code Online (Sandbox Code Playgroud)