当前位置: 首页 > 知识库问答 >
问题:

以编程方式更改EditText的下划线颜色

范飞翰
2023-03-14
<EditText
    android:id="@+id/edit_password"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textPassword"/>
editText.getBackground().setColorFilter(color, PorterDuff.Mode.SRC_IN);

然而,当我运行该应用程序时,我没有看到任何变化。更改背景本身:

editText.setBackground(color)

将整个edittext更改为color-不是我想要的!

如何以编程方式更改edittextappcompatedittexttextinputedittext的下划线颜色?我使用的是支持库的25.0.1版本。

共有1个答案

汪安然
2023-03-14

@Degs的答案是正确的。但是只需添加一点提示:appcompatedittext#setsupportbackgroundtintlist现在用@restrictto(LIBRARY_GROUP)注释,这意味着:

限制使用同一组库中的代码

相反,请使用viewcompat#setbackgroundtintlist。所以在您的示例中,应该如下所示:

ColorStateList colorStateList = ColorStateList.valueOf(color);
ViewCompat.setBackgroundTintList(editText, colorStateList);
 类似资料:
  • 本文向大家介绍Android更改EditText下划线颜色样式的方法,包括了Android更改EditText下划线颜色样式的方法的使用技巧和注意事项,需要的朋友参考一下 前言 相信大家都知道,当使用AppCompatEditText(Edit Text)时,默认的下划线是跟随系统的#FF4081的颜色值的,通过改变这个值可以改变所有的颜色样式 有时候你想单独定义某一个界面的颜色样式,则可以这样做

  • 问题内容: 我在这里有此代码: 首先,如您所见,它带有下划线()。其次,所有文字均为红色。那么,是否有将文本($ username)留为红色而下划线为黑的情况? 问题答案: 不能。您最好的方法是使用其他颜色的,但这并不是 真正的重点 。

  • 我正在使用android设计库的。但无法自定义内部的提示颜色、标签颜色和下划线颜色。请帮忙。

  • 我已经读过一些关于颜色的线程,但所有这些线程都必须通过style.xml进行设置。 现在我用这个来确定颜色。 是否可以不使用XML,例如使用代码来更改SwitchCompat/Checkbox的颜色?

  • 默认是某种蓝色(可能是全息蓝色),但我需要将其更改为橙色。问题是,我不知道这到底是怎么叫的(这是下划线,指示器还是什么?),所以我不能自己谷歌这个。 谢谢

  • 问题内容: 在android中,我们可以通过以下方式更改光标颜色: 。 我们如何动态地做到这一点? 在我的情况下,我将可绘制的光标设置为白色,但是我需要将其更改为黑色。怎么办? 问题答案: 使用一些反射对我有用 Java: XML: 您可以使用不需要XML的方法: