Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更改EditText背景色并保留下划线_Java_Android - Fatal编程技术网

Java 更改EditText背景色并保留下划线

Java 更改EditText背景色并保留下划线,java,android,Java,Android,文本下方的线是视图背景的可绘制集,当调用setBackgroundColor(color)时,会在内部发生以下情况: setBackground(new ColorDrawable(color)); 这将删除包含线条的可绘制图形,并将其替换为我们提供的颜色 是否可以更改EditText的背景色而不使文本下的行消失 在版面内设置EditText并更改版面的背景色不是一个选项。尝试使某些人认为可绘制: <?xml version="1.0" encoding="utf-8"?> <

文本下方的线是视图背景的可绘制集,当调用setBackgroundColor(color)时,会在内部发生以下情况:

setBackground(new ColorDrawable(color));
这将删除包含线条的可绘制图形,并将其替换为我们提供的颜色

是否可以更改EditText的背景色而不使文本下的行消失


在版面内设置EditText并更改版面的背景色不是一个选项。

尝试使某些人认为可绘制:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:top="-2dp" android:left="-2dp" android:right="-2dp">
        <shape> 
            <solid android:color="@color/background_color"/>
            <stroke android:color="@color/underline_color" android:width="2dp"/>
        </shape>
    </item>
</layer-list>
editText.setBackgroundResource(R.drawable.name_to_xml_file);

你必须为它创建一个自定义绘图。但是如果你想在运行时改变颜色呢?我在RCeyServiceView中选择和取消选择行时会执行此操作。请按此处所述使用选择器