我如何隐藏EditText下划线(提示行与小衬线在结束)?

可能有更好的方法来做我想做的事情:我有一个带有EditText的布局。通常情况下,在用户可以点击它并开始输入或编辑文本的地方显示正常。

但是,有时我想使用相同的布局(简化其他逻辑)以只读方式显示相同的数据。我希望演示是类似的-它应该有相同的高度和相同的字体,但没有下划线。

作为一种权宜之计,我将通过删除EditText并替换TextView来实现这一点。我认为这将带来预期的结果,但它似乎是一种迂回的昂贵的方式来完成一些本应该通过改变属性来轻松完成的事情。


当前回答

将background设置为null。

android:background="@null"

其他回答

将background设置为null。

android:background="@null"

您可以将EditText的backgroundTint值设置为特定的颜色。 如果你设置透明颜色,下划线应该消失。

android: backgroundTint = @color - Transparent”

< [name = Transparent”> # 00000000 < /颜色>

但是你可以在Api v21(Lollipop)或更高版本中使用它

在我的情况下,我使用自定义背景编辑文本 因此,将背景设置为@null或将色调设置为透明对我来说不是解决方案 所以我耍了一个小技巧,对我很有效

android:inputType="textVisiblePassword"

而且它能很好地完成工作。 这不是最佳解决方案,但它有效

如果你的编辑文本已经有了背景,那么你可以使用following。

android:textCursorDrawable="@null"

要同时保留页边距和背景色,请使用:

background.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <padding
        android:bottom="10dp"
        android:left="4dp"
        android:right="8dp"
        android:top="10dp" />

    <solid android:color="@android:color/transparent" />

</shape>

编辑文本:

<androidx.appcompat.widget.AppCompatEditText
    android:id="@+id/none_content"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/background"
    android:inputType="text"
    android:text="First Name And Last Name"
    android:textSize="18sp" />