我如何隐藏EditText下划线(提示行与小衬线在结束)?
可能有更好的方法来做我想做的事情:我有一个带有EditText的布局。通常情况下,在用户可以点击它并开始输入或编辑文本的地方显示正常。
但是,有时我想使用相同的布局(简化其他逻辑)以只读方式显示相同的数据。我希望演示是类似的-它应该有相同的高度和相同的字体,但没有下划线。
作为一种权宜之计,我将通过删除EditText并替换TextView来实现这一点。我认为这将带来预期的结果,但它似乎是一种迂回的昂贵的方式来完成一些本应该通过改变属性来轻松完成的事情。
还可以为editText定义一个STYLE,这样就可以重新组合所有属性。这是非常强大的,如果你有多个编辑文本,需要有行为
将代码放在res/values/styles.xml中
<样式
<项目=“android:背景”>@color/透明</项目> //NO UNDERBAR
< name = " android项目:maxLines " > 1 < - >项目
<项目=“android:height”>28dp</项目> //COMMON height
< / style >
之后,您只需要在editText中调用它
<EditText
android:id="@+id/edit1"
style="@style/MyEditTextStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/edit2"
style="@style/MyEditTextStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
让我们在android中做一些更简单的事情,比如outlinedbox和Null background of edittext。如下所示。
复制粘贴即可。
编辑文本与OutlinedBox密码与toogle选项在结束。
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/password"
app:boxCornerRadiusBottomEnd="10dp"
app:boxCornerRadiusBottomStart="10dp"
app:boxCornerRadiusTopEnd="10dp"
app:boxCornerRadiusTopStart="10dp"
app:boxStrokeColor="@color/primary_color"
app:boxStrokeWidth="1dp"
app:boxStrokeWidthFocused="1dp"
app:errorIconDrawable="@null"
app:hintTextColor="#d3d3d3"
app:passwordToggleDrawable="@drawable/password_toggle"
app:passwordToggleEnabled="true">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/etPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:paddingStart="10dp"
android:paddingEnd="0dp"
android:textCursorDrawable="@null"
android:textSize="12sp" />
</com.google.android.material.textfield.TextInputLayout>
为password_toggle创建Drawble
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_show" android:state_checked="true"/>
<item android:drawable="@drawable/ic_hide"/>
</selector>
现在没有任何边界的编辑文本。
电子邮件编辑文本
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_edittext"
android:hint="@string/enter_your_email"
android:imeOptions="actionDone"
android:inputType="textEmailAddress"
android:maxLines="1"
android:padding="10dp"
android:singleLine="true"
android:textColor="@color/black"
android:textColorHint="#d3d3d3"
android:textSize="12sp" />
对于密码编辑文本。
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_edittext"
android:hint="@string/enter_your_password"
android:imeOptions="actionDone"
android:inputType="textEmailAddress"
android:maxLines="1"
android:padding="10dp"
android:singleLine="true"
android:textColor="@color/black"
android:textColorHint="#d3d3d3"
android:textSize="12sp" />