TextInputLayout 中的 endIconTint 不起作用
endIconTint in TextInputLayout is not working
我正在使用 TextInputLayout
和 TextInputEditText
创建一个登录表单,但是切换密码图标总是显示为白色,无论我将其指定为哪种颜色 endIconTint
。我已经在
上测试过了
Android 6
Android 10
两者显示相同的结果。
这是我在 TextInputLayout
中使用 Widget.MaterialComponents.TextInputLayout.OutlinedBox
作为样式时的表单。它似乎没有显示可绘制对象,但事实并非如此,因为可绘制对象和输入字段背景颜色为白色。当我单击末尾时,它会切换密码。
这是我使用Widget.MaterialComponents.TextInputLayout.FilledBox
时的形式
这是我的代码,您可以看到我目前正在为 endIconTint
指定黑色
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/password_til"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:hint="Password"
app:counterEnabled="true"
app:counterMaxLength="20"
app:endIconMode="password_toggle"
app:endIconTint="@color/black"
app:helperText="required*"
app:helperTextTextColor="@android:color/holo_red_dark"
app:layout_constraintTop_toBottomOf="@id/username_til"
app:passwordToggleEnabled="true"
app:startIconDrawable="@drawable/ic_key">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/password_tiet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:maxLength="20" />
</com.google.android.material.textfield.TextInputLayout>
我交叉验证了 color.xml
文件中的颜色并尝试了其他颜色,但图标始终显示为白色。请让我知道这里有什么问题或者是错误?
感谢和问候
您已经指定了 app:endIconMode="password_toggle"
,因此您不需要再设置 passwordToggleEnabled
。
将此从 TextInputLayout
中删除即可解决您的问题。
app:passwordToggleEnabled="true"
我正在使用 TextInputLayout
和 TextInputEditText
创建一个登录表单,但是切换密码图标总是显示为白色,无论我将其指定为哪种颜色 endIconTint
。我已经在
Android 6
Android 10
两者显示相同的结果。
这是我在 TextInputLayout
中使用 Widget.MaterialComponents.TextInputLayout.OutlinedBox
作为样式时的表单。它似乎没有显示可绘制对象,但事实并非如此,因为可绘制对象和输入字段背景颜色为白色。当我单击末尾时,它会切换密码。
这是我使用Widget.MaterialComponents.TextInputLayout.FilledBox
这是我的代码,您可以看到我目前正在为 endIconTint
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/password_til"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:hint="Password"
app:counterEnabled="true"
app:counterMaxLength="20"
app:endIconMode="password_toggle"
app:endIconTint="@color/black"
app:helperText="required*"
app:helperTextTextColor="@android:color/holo_red_dark"
app:layout_constraintTop_toBottomOf="@id/username_til"
app:passwordToggleEnabled="true"
app:startIconDrawable="@drawable/ic_key">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/password_tiet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:maxLength="20" />
</com.google.android.material.textfield.TextInputLayout>
我交叉验证了 color.xml
文件中的颜色并尝试了其他颜色,但图标始终显示为白色。请让我知道这里有什么问题或者是错误?
感谢和问候
您已经指定了 app:endIconMode="password_toggle"
,因此您不需要再设置 passwordToggleEnabled
。
将此从 TextInputLayout
中删除即可解决您的问题。
app:passwordToggleEnabled="true"