【问题标题】:How to underline an EditText如何在 EditText 下划线
【发布时间】:2016-11-16 21:03:26
【问题描述】:

我在 AndroidStudio 中为 EditText 下划线时遇到了一些问题。

这就是我要找的(这只是一张照片,不是我的真实文字):

但我真的不知道有什么属性可以做到这一点。

我现在的代码非常简单。只是“正常”的一个:

 <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:ems="10"
        android:layout_margin="16dp"
        android:id="@+id/tx_titulo"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:text="@string/pt_titulo"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:allowUndo="true"
        />

我不想只在文本下划线(在本例中为“Título”),而是在整个 PlainText 下划线

有人知道吗? 问候。

【问题讨论】:

  • 默认的不是已经有了吗?您的编辑文本代码是什么样的?
  • 抱歉,我编辑了问题。
  • 您可能将宽度设置为 wrap_content。如果没有 XML 布局,就很难提供帮助。尝试将其设置为 match_parent,应该可以解决问题。

标签: java android android-edittext underline


【解决方案1】:

这是默认设置,但请尝试检查您的样式。也许有一种样式会覆盖整个应用程序中的样式。如果有,请删除它

【讨论】:

  • 你是对的。它基本上是默认完成的。当我在手机中检查我的应用程序的行为时,它起作用了。
  • @MarioLópezBatres 随时:)
【解决方案2】:

要以编程方式执行此操作,您可以在 post 中找到答案。

设置下划线颜色:

editText.getBackground().setColorFilter(color, PorterDuff.Mode.SRC_IN);

去除下划线颜色:

editText.getBackground().clearColorFilter();

要从 XML 中执行此操作,您可以在 layout.xml 中添加 background 属性以通过添加任何可绘制资源作为背景来执行相同的操作:

android:background="@drawable/mydrawable"

如果您有几个具有相同样式配置的 EditText,为避免将属性设置为每个 EditText,您可以覆盖 EditText 的默认属性,定义自定义样式,就像它在 here 中所做的那样。

【讨论】:

  • 但是,为每个 Textview 添加可绘制背景是唯一的解决方案吗?
  • 我猜你的意思是 EditText,而不是 Textview。不,您不必为每个 EditText 添加背景属性。我已经编辑了答案,并评论了如何自定义默认 EditText 的样式以避免这种情况。
猜你喜欢
  • 2012-12-08
  • 2013-03-31
  • 2013-11-06
  • 2017-03-17
  • 2021-04-13
  • 2016-06-15
  • 1970-01-01
  • 1970-01-01
  • 2013-09-05
相关资源
最近更新 更多