【问题标题】:Change EditText background color and keep underline更改 EditText 背景颜色并保留下划线
【发布时间】:2018-03-04 19:01:16
【问题描述】:

文本下方的行是一个可绘制的设置为视图的背景,当editText.setBackgroundColor(color) 被调用时,内部会发生以下情况:

setBackground(new ColorDrawable(color));

这会移除包含线条的可绘制对象,并用我们给它的颜色替换它。

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

在布局内设置 EditText 并更改布局的背景颜色不是一种选择。

【问题讨论】:

  • 您必须为此创建一个自定义可绘制对象..

标签: java android


【解决方案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);

【讨论】:

猜你喜欢
  • 2017-07-23
  • 2014-11-08
  • 1970-01-01
  • 1970-01-01
  • 2017-08-03
  • 1970-01-01
  • 1970-01-01
  • 2012-09-15
  • 1970-01-01
相关资源
最近更新 更多