gpt4 book ai didi

java - textinputlayout 密码切换图标被阻止

转载 作者:行者123 更新时间:2023-11-29 02:24:08 25 4
gpt4 key购买 nike

我不知道如何用文字解释,但让附图来说话吧?

Problem

基本上,setError 图标会阻止密码切换图标。

最初我认为这是一个简单的布局问题,我在颜色和背景等方面进行了调整。但是,经过多次尝试和错误,我似乎无法找到解决问题的方法。

我会在这里发布我的 XML 以供您引用:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bokeh"
tools:context=".RegistrationActivity">


<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<ImageView
android:layout_width="495dp"
android:layout_height="130dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
android:src="@drawable/loginboa" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="10dp"
android:orientation="vertical"
android:weightSum="1">

<EditText
android:id="@+id/etSignUpUsername"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_user"
android:drawablePadding="20dp"
android:background="@drawable/edittext_bg"
android:hint="Name"
android:textColorHint="#a3a1a1"
android:inputType="textPersonName"
android:padding="10dp"
android:layout_weight="0.10"/>

<EditText
android:id="@+id/etSignUpEmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.10"
android:drawableLeft="@drawable/ic_email"
android:drawablePadding="20dp"
android:background="@drawable/edittext_bg"
android:layout_marginTop="3dp"
android:hint="Email"
android:inputType="textEmailAddress"
android:padding="10dp"
android:textColorHint="#a3a1a1" />

<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
app:passwordToggleEnabled="true"
app:hintEnabled="false">

<EditText
android:id="@+id/etSignUpPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:textColorHint="#a3a1a1"
android:inputType="textPassword"
android:drawableStart="@drawable/ic_password"
android:background="@drawable/edittext_bg"
android:layout_marginTop="3dp"
android:drawablePadding="20dp"
android:padding="10dp"
android:layout_weight="0.09"/>

</android.support.design.widget.TextInputLayout>


<TextView
android:id="@+id/tvPasswordHint"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="Password must contain at least 8 characters including
one uppercase letter, one lowercase letter, one number &amp; one
special character."
android:textAlignment="center"
android:textSize="12sp"
android:textStyle="bold|italic"
android:textColor="#ff0000"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.623" />

<EditText
android:id="@+id/etSignUpDepartment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.09"
android:drawableLeft="@drawable/ic_department"
android:drawablePadding="20dp"
android:background="@drawable/edittext_bg"
android:layout_marginTop="3dp"
android:hint="Department"
android:inputType="text"
android:padding="10dp"
android:textColorHint="#a3a1a1" />

<EditText
android:id="@+id/etSignUpRole"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.09"
android:drawableLeft="@drawable/ic_role"
android:drawablePadding="20dp"
android:background="@drawable/edittext_bg"
android:layout_marginTop="3dp"
android:hint="Role"
android:inputType="text"
android:padding="10dp"
android:textColorHint="#a3a1a1" />

<Button
android:id="@+id/btnRegister"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:background="@drawable/button_bg"
android:text="SIGN UP"
android:textSize="20dp"
android:textColor="#000000"/>

<TextView
android:id="@+id/tvUserLogin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="8dp"
android:text="Already have an account? LOGIN NOW! "
android:textColor="#ba080000"
android:textAlignment="center"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.382"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvInfo"
app:layout_constraintVertical_bias="0.437" />

</LinearLayout>
</LinearLayout>

我本可以创建另一个可绘制对象作为红色感叹号图标,但我喜欢错误消息的弹出方式。

如果可能的话,我想保留这种方法,但当然要有更好的布局安排。因此,有人知道我该如何解决这个问题吗?谢谢。

最佳答案

将 id 分配给 textinputlayout 并将 setError 分配给 textinputlayout,而不是 edittext。喜欢:

  <android.support.design.widget.TextInputLayout
android:id="@+id/tilSignUpPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
app:passwordToggleEnabled="true"
app:hintEnabled="false">

<EditText
android:id="@+id/etSignUpPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:textColorHint="#a3a1a1"
android:inputType="textPassword"
android:drawableStart="@drawable/ic_password"
android:background="@drawable/edittext_bg"
android:layout_marginTop="3dp"
android:drawablePadding="20dp"
android:padding="10dp"
android:layout_weight="0.09"/>

</android.support.design.widget.TextInputLayout>

在类里面:

 //your condition
.....
tilSignUpPassword.setError("Message")
.....

不要忘记在条件匹配后设置错误(null)。

enter image description here

关于java - textinputlayout 密码切换图标被阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53277261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com