文本下方的行是一个可绘制的设置为视图的背景,当调用editText.setBackgroundColor(color)
时,内部会发生以下情况:
setBackground(new ColorDrawable(color));
这将删除包含该行的drawable,并将其替换为我们提供的颜色。
是否可以更改EditText的背景颜色而不会使文本下的行消失?
在布局中设置EditText并更改布局的背景颜色不是一种选择。
答案 0 :(得分:1)
尝试使drawable有人这样想:
<?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背景:
editText.setBackgroundResource(R.drawable.name_to_xml_file);