如何隐藏EditText下栏(结尾有小衬线的提示行)?

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

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

作为一个停止间隙度量,我将通过删除EditText并替换一个TextView来实现这一点。我认为这会产生期望的结果,但这似乎是一种迂回的昂贵方法,通过改变属性来做一些应该很容易做的事情。

可能重复?stackoverflow.com/questions/5478109/…

您可以将EditText设置为具有自定义透明可拖动或仅使用

android:background="@android:color/transparent"

android:background="@null"

正如Ha1ogen所说,最好的答案是定制一个可绘制的。从用于普通编辑文本字段的9补丁开始。修改它可以去掉底线和其他你不想要的图形。这样,修改后的EditText将具有与普通EditText字段相同的页边距和整体外观。如果只将背景设置为空,它将丢失页边距。

用这个:android:background="@android:color/transparent"。

如果我已经有了其他颜色的背景,比如灰色,在这种情况下如何删除底线/下划线?

在android 19中,使用android:background="@android:color/transparent"会导致相同的利润损失问题…有没有一个例子,有人创建这样一个定制的抽屉?

如何在Java中编程?

如果我们想返回默认值,默认背景是什么?

语法已更改。以编程方式执行:myedittext.backundgroundresource(r.color.fui-transparent);。我曾经将可见性设置为false,以便在用户单击我的自定义文本框时不显示底线并发送一条PerformClick消息,但是这样做更可靠。

将背景设置为空。

android:background="@null"

这与background="00000000"相同。不太管用。

这对我很有效,但我最终做了android:background="@android:color/transparent,因为@null很可怕。

@理查德为什么埃多克斯1〔3〕可怕?

@空将表示不存在背景。如果我们指定background="00000000",它将使用alpha值"0"绘制白色背景。

"@null"也隐藏闪烁的光标,"@android:color/transparent"不是。

@Vinayakvnaik实际上是透明的黑色。非透明白色,即00ffffff

@卢卡斯诺瓦克,你在哪个安卓版本和设备上看到这个?对我来说,它看起来很好…

@Dicklucas空值并不可怕,它非常有用。在这种情况下,完全可以使用BackbackgroundDrawable(空值);这使得背景成为默认设置,就像你没有设置它一样。(每个布局之间很常见,不仅仅是这个布局)。

@Stevemoretz之所以称为"十亿美元的错误",有一个原因。我尽量避免出现空指针异常。在这种情况下,我特别避免这样做,因为我更愿意明确地了解我想要的背景。在这种情况下,空值只是隐式地将背景设置为透明的,谁知道它在将来的Android版本中将意味着什么。虽然将其设置为android:color/transparent是明确的,而且不仅在将来的android版本中更容易工作,对于其他将查看我的代码的开发人员来说,它也更清晰。

@Dicklucas OK,让我们清除应该发生的空指针异常,因为,地狱如何使用未初始化的指针?但空用于视图中的特殊情况,也用于自定义视图和许多其他情况。您应该更多地参与其中。什么是?@android:color/transparent让我们来看看:00000000,您可以在android包中看到的值与空值相同!即使在appcompateditext类setInternalBackgroundTint(空);中,也会使用和许多其他情况。您最好更多地与空相关,而不是害怕。

请将EditText背景设置为

android:background="#00000000"

它会起作用的。

这会有点效果,但不太合适。如果只删除背景,也会丢失字段周围的边距-它们是默认背景的一部分。正如@ha1ogen所建议的,正确的解决方案是替换一个完全没有底线的不同背景。

如何通过程序撤消此操作

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

android:backgroundTint="@color/Transparent"

#00000000

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

这比改变整个视图的背景(如其他答案所示)要好得多。

您可以使用setBackgroundResource以编程方式完成:

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

使用任一属性:

android:background="@null"

android:background="@android:color/transparent"

为我隐藏编辑文本的下划线而工作。

但是,请注意,它会导致我围绕EditText的textinputlayout出现间距问题。

间距问题来自错误布局。为了修复将textinputlayout的errorEnabled属性设置为false app:errorEnabled="false"的问题。

以下是隐藏它的方法,而不破坏默认填充:

fun View.setViewBackgroundWithoutResettingPadding(background: Drawable?) {

val paddingBottom = this.paddingBottom

val paddingStart = ViewCompat.getPaddingStart(this)

val paddingEnd = ViewCompat.getPaddingEnd(this)

val paddingTop = this.paddingTop

ViewCompat.setBackground(this, background)

ViewCompat.setPaddingRelative(this, paddingStart, paddingTop, paddingEnd, paddingBottom)

}

用途:

editText.setViewBackgroundWithoutResettingPadding(null)

这个答案是完美的,应该被接受。它可以删除背景而不删除默认填充。

我所做的是创建一个可绘制的形状,并将其设置为背景:

xmlns:android="http://schemas.android.com/apk/res/android"

android:shape="rectangle">

android:top="8dp"

android:bottom="8dp"

android:left="8dp"

android:right="8dp" />

注:我实际使用了@dimen和@color值作为firelds,但为了清晰起见,我简化了这里的形状文件。

这也是一个很好的选择。这是一个设置自定义可拖动的变体。

您还必须设置minwidth,否则,如果文本为空,光标将消失。

android:id="@+id/et_card_view_list_name"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:minWidth="30dp"

android:layout_weight="1"

android:inputType="text"

android:text="Name"

android:background="@android:color/transparent"

/>

如果编辑文本已经有背景,则可以使用以下内容。

android:textCursorDrawable="@null"

虽然这不能解决这个问题,但对我有帮助。

我有这样的东西,非常有用:

generalEditText.getBackground().mutate().setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);

其中GeneralEditText是我的EditText,而白色是:

#ffffff

这将不会删除填充,并且您的EditText将保持原样。只删除底部的行。有时这样做更有用。

如果您使用android:background="@null"作为许多建议,您将丢失填充,edittext将变小。至少是我的情况。

如果你设置背景NULL并尝试上面提供的Java代码,你的应用程序在执行它后就会崩溃。(因为它得到了背景,但它是空的。)这可能很明显,但我认为指出它很重要。

我发现了最奇怪的东西!如果使用数据绑定将其设置为null:android:background="@{null}"

然后,不仅删除了背景,而且视图还有根据默认背景计算的填充。因此,出于某种原因,延迟的空设置没有从以前的bg中清除填充。视图上的填充是左/上/右4dp,下13dp(来自Emulator级别21)。

在所有API级别上可能没有相同的最终结果,所以要小心!有人告诉我,如果你测试这个并发现它是可靠的。(还要注意,底部填充物之所以突出,是因为原始的下划线。所以您可能希望在XML中更改它,或者在加载到相等的top之后在代码中重置它…

如果希望此操作影响EditText的所有实例和继承该实例的任何类,则应在主题中设置属性EditTextBackground的值。

@drawable/bg_no_underline

我使用的可绘图的一个例子是:

android:insetLeft="@dimen/abc_edit_text_inset_horizontal_material"

android:insetRight="@dimen/abc_edit_text_inset_horizontal_material"

android:insetTop="@dimen/abc_edit_text_inset_top_material"

android:insetBottom="@dimen/abc_edit_text_inset_bottom_material">

这是默认材料设计实现的稍微修改过的版本。

当应用时,它将使你的所有编辑文本删除整个应用程序的下划线,你不必手动将样式应用到每一个。

简单地使用这个

editText.setBackgroundColor(Color.TRANSPARENT);

您还可以为EditText定义样式,以便可以共同重新组合所有属性。如果需要多个编辑文本,而这些文本需要具有

将代码放在res/values/styles.xml中

@color/transparence //NO UNDERBAR

1

28dp //COMMON HEIGHT

之后你只需要在你的编辑文本中调用它

android:id="@+id/edit1"

style="@style/MyEditTextStyle"

android:layout_width="match_parent"

android:layout_height="wrap_content" />

android:id="@+id/edit2"

style="@style/MyEditTextStyle"

android:layout_width="match_parent"

android:layout_height="wrap_content" />

程序性使用:editText.setBackground(null)。

从xml使用:android:background="@null"。

android:background="@android:color/transparent"

android:background="@null"

在我的例子中,editText.setBackgroundResource(R.color.transparent);是最好的。

它不会删除默认填充,就在条下。

R.color.transparent = #00000000

将背景设置为空

android:background="@null" in your xml

如果使用背景,则必须使用此标记'android:testcursordrawable="@null"'

android edittext 下划线没了,关于android:如何在EditText中隐藏下划线相关推荐

  1. excel添加列下拉框票价_如何在excel中设置下拉菜单

    excel是日常办公中应用非常多的办公软件之一,其强大的数据统计.分析功能为工作带来不少方便.在EXCEL中设置下拉菜单,以方便输入相同内容.本文就以将性别设置为下拉菜单为例,介绍在excel中设置下 ...

  2. ipad mini android平板,iPad mini没想带Android平板玩

    网易科技专栏作家 师北宸(专栏) 不出意外,苹果在10月23日(北京时间10月24日凌晨)发布了iPad mini,从7.9英寸大小尺寸.非Retina屏,到329美元的定价,甚至出货日期,都没有出乎 ...

  3. mysql 表名 下划线_我们可以在MySQL表名中加下划线吗?

    您不能在表名称中添加下划线.如果您仍想使用下划线创建新表,请使用反引号(而不是单引号)将其引起来. 但是,让我们首先尝试在带下划线的表名周围设置引号.以下是一个例子-mysql> create  ...

  4. java能下划线开头_为什么Java7开始在数字中使用下划线

    JDK1.7的发布已经介绍了一些有用的特征,尽管大部分都是一些语法糖,但仍然极大地提高了代码的可读性和质量.其中的一个特征是介绍字面常量数字的下划线.从Java7开始,你就可以在你的Java代码里把长 ...

  5. ACT5.6 动手实验手册 如何在工作组模式下对客户端进行数据收集 如何在AD域环境下对...

    ACT5.6 动手实验手册 实验的目标 这个实验的目的是: · 了解如何部署ACT5.6 · 了解如何在工作组模式下对客户端进行数据收集 · 了解如何在AD域环境下对客户端进行数据收集 本次试验大约6 ...

  6. mysql 获取递增id_如何在MySQL中获取下一个自动递增ID?

    MySQL具有AUTO_INCREMENT关键字来执行自动增量.AUTO_INCREMENT的起始值为1,这是默认值.每条新记录将增加1. 要获得MySQL中的下一个自动增量ID,我们可以使用MySQ ...

  7. 选下拉框的的值对应上传相应的图片_excel表格下拉菜单调用对应数据,如何在excel中实现,选择下拉菜单某一项,该表格中就出现选项对应的数据?...

    如何在excel中实现,选择下拉菜单某一项,该表格中就出现选项对应的数据? 选中这几列 打开菜单"数据"-"筛选"-"自动筛选"就是了. 另 ...

  8. excel中vlookup填充公式下拉怎么不好使了(如何在excel中vlookup为什么无法填充公式)...

    在EXCEL表格里用VLOOKUP搜索数据时,为什么往下拉多了就不灵了呢? 注意查找的值与搜索区域的值格式统一. 搜索区域Table_array,地址引用要用绝对地址,比如区域A1:E100要写成$A ...

  9. java代码下划线是啥意思,在这个Java代码中,下划线实际上做了什么?

    I just began to learn Java. My friend who is helping me study just sent me this and said 'figure thi ...

  10. linux下的ssh端口号修改,如何在 Linux 中更改 SSH 端口

    默认情况下, SSH 侦听端口 22 . 更改默认 SSH 端口可以降低被自动攻击的风险,从而为服务器增加额外的安全层. 和更改默认端口相比,将防火墙配置为仅允许从特定主机访问端口 22 则更加简单和 ...

最新文章

  1. mysql linux 使用索引_正确使用MySQL索引
  2. dotNetCore操作Redis(含CentOS7哨兵模式部署)
  3. java中trim_java中string.trim()函数的作用实例及源码
  4. Centos 7 更改系统语言为中文
  5. [置顶] 金山云存储解决企业办公难题
  6. 小新air15为啥没人买_联想小新air15怎么样?身边的人用的好像比较少?
  7. centos 6.x下jira显示饼图乱码解决方法
  8. web标准设计工具:代码本地校验软件A Real Validator(附注册码)
  9. 正点原子STM32F103学习笔记(一)
  10. 51单片机c语言实训报告总结,单片机实训心得体会
  11. 设置eMMC和DDR的工作频率
  12. WEBI上取月的整周
  13. 求一个3*3的整形矩阵对角线元素之和
  14. 表达式的LenB(123程序设计ABC)的值是27吗
  15. 银河麒麟Kylin_s10_sp3安装Oracle11g(FS)(官方补丁认证)(亲测有效)
  16. android 仿快递步骤_Android实现仿美团、顺丰快递数据加载效果
  17. ## no data sources are configured to run this SQL and provide advanced code assistance.
  18. Python 打造基于有道翻译的命令行翻译工具(命令行爱好者必备)
  19. 【计算机毕业设计】外卖点餐系统
  20. 用遥控器的例子逐步介绍命令模式

热门文章

  1. SpringBoot集成MongoDB实现两种CRUD
  2. 字根校对-中文校对软件
  3. 小米、Vivo、Oppo后台弹出界面和锁屏权限检测
  4. [校内模拟] 201027 NOIP Practice T2 Clockwork 众人皆WA我独A(划去)
  5. css旋转45度_Matplotlib中的文字旋转问题
  6. linux将汇编转为机器码,如何将汇编语言转化为机器码
  7. monthcalendar控件
  8. 电驴服务器更新的作用,用电驴,这些服务器知识你必知
  9. Ubuntu系统的百度网盘网络错误导致无法上传和下载文件问题解决方法
  10. 逆火效应:该对谁负责?