如何隐藏EditText中的下划线

6 浏览
0 Comments

如何隐藏EditText中的下划线

如何隐藏EditText下方的下划线(带有小装饰线条的提示行)?\n也许有更好的方法来实现我想要的效果:我有一个带有EditText的布局。通常情况下,用户可以点击它并开始输入或编辑文本。\n然而,有时候我希望使用相同的布局(简化其他逻辑)以只读方式显示相同的数据。我希望呈现效果相似-高度和字体相同,但没有下划线。\n作为一个权宜之计,我将通过删除EditText并用TextView替换来实现这一目标。我认为这将得到期望的结果,但这似乎是一种绕弯子而又昂贵的方法,应该通过更改属性来轻松实现。

0
0 Comments

问题的出现原因:在使用EditText时,可能会出现下划线的情况,希望隐藏掉下划线。

解决方法:可以通过设置EditText的backgroundTint属性来实现。将backgroundTint的值设置为特定的颜色,如果将颜色设置为透明,则下划线应该会消失。这个方法适用于Api v21(Lollipop)或更高版本。

具体代码如下:


其中,Transparent是一个颜色值,可以在colors.xml文件中进行定义:

#00000000

与其他答案中建议的改变整个视图的背景相比,这种方法更好。它还保留了边距,因为它并没有删除背景本身,只是将其颜色设置为透明,所以我选择了这种方法。

0
0 Comments

问题的原因是想要隐藏EditText中的下划线,但是设置android:background=""并不起作用。有人建议使用android:background=":color/transparent",但有人认为这样做是因为android:background=""是令人害怕的。有人解释说android:background=""表示没有背景存在,而指定background="#00000000"会绘制带有透明度为0的白色背景。另外,有人表示android:background=""也隐藏了光标,而android:background=":color/transparent"则没有。有人则认为null并不可怕,它非常有用,可以使用setBackGroundDrawable(null)将背景设置为默认值。也有人表示应该避免使用null,因为它可能引发空指针异常,并且也不清楚在将来的Android版本中它的含义会是什么。相比之下,将背景设置为android:color/transparent更加明确和清晰。还有人解释说android:color/transparent与null的值是相同的,实际上在AppcompatEditText类中也使用了setInternalBackgroundTint(null)。因此,作者建议更深入地了解null的使用。

0
0 Comments

问题出现的原因是想要隐藏EditText下划线。解决方法有以下几种:

1. 可以将EditText设置为一个自定义的透明drawable,或者使用下面的代码设置background为透明:

android:background=":color/transparent"

或者

android:background=""

或者在编程中使用下面的代码:

editText.setBackgroundResource(android.R.color.transparent);

2. 最佳的解决方法是创建一个自定义的drawable。首先使用用于普通EditText字段的9-patch图片作为基础,然后修改它以去除不需要的下划线和其他图形。这样,修改后的EditText将具有与普通EditText字段相同的边距和整体外观。如果仅仅将background设置为null,将会失去边距。

3. 如果已经设置了其他颜色的背景,例如灰色,可以如下代码移除下划线:

android:background=":color/transparent"

4. 如果使用Android 19版本,使用`android:background=":color/transparent"`会导致边距丢失的问题。是否有人创建过这样的自定义drawable的示例?

5. 如果想要在Java中以编程方式实现,可以使用以下代码:

myedittext.setBackgroundResource(R.color.fui_transparent);

6. 如果想要将背景恢复为默认值,可以使用以下代码:

myedittext.setBackgroundResource(android.R.drawable.edit_text);

7. 以前可以将Visibility设置为false来去除下划线,并且如果用户点击自定义文本框,发送一个performclick消息。但是这种方法不够可靠,现在更推荐使用上述方法。

要想隐藏EditText下划线,可以通过设置透明的背景或者创建自定义的drawable来实现。在Xml中可以使用`android:background=":color/transparent"`,在Java中可以使用`editText.setBackgroundResource(android.R.color.transparent)`。如果已经有其他背景颜色,可以使用同样的代码将background设置为透明。如果想要将背景恢复为默认值,可以使用`myedittext.setBackgroundResource(android.R.drawable.edit_text)`。

0