移除 Android N 中的显示密码图标

Posted

技术标签:

【中文标题】移除 Android N 中的显示密码图标【英文标题】:Remove show password icon in Android N 【发布时间】:2016-12-25 11:19:10 【问题描述】:

当我在 EditText 视图中设置 android:inputType="textPassword" 时,新的 Android 版本会自动绘制显示密码图标。我怎样才能禁用它?谢谢

【问题讨论】:

我自己没有测试过,我的第一个猜测是尝试:editText.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0); 没用,依然可见 【参考方案1】:
 <android.support.design.widget.TextInputLayout
    android:id="@+id/password"
    android:layout_
    android:layout_
    app:passwordToggleEnabled="true"
    android:textColorHint="@color/colorhint"
    android:textColor="@color/colortext">

true 表示您可以显示/隐藏密码

【讨论】:

【参考方案2】:

编译'com.android.support:appcompat-v7:24.2.0'

编译'com.android.support:design:24.2.0'

在布局中

        android:inputType="textPassword"

它的工作原理

【讨论】:

【参考方案3】:

使用setPasswordVisibilityToggleEnabled方法或通过XML使用app:passwordToggleEnabled删除密码图标(或眼睛图标)。

欲了解更多信息,请参阅support library revisions。

例子:

<android.support.design.widget.TextInputLayout
    android:id="@+id/new_password_layout"
    android:layout_
    android:layout_
    app:errorEnabled="true"
    app:passwordToggleEnabled="false">

    <EditText
        android:id="@+id/password_edit"
        android:layout_
        android:layout_
        android:hint="@string/new_password"
        android:imeOptions="actionNext"
        android:inputType="textPassword"
        android:singleLine="true"/>

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

【讨论】:

什么no.ruter.mobile.view.EditText? 他们是否在 25.0.1 中再次删除了它?编辑:原来他们做到了developer.android.com/topic/libraries/support-library/… @Cremos 如何以编程方式控制密码图标 'app:passwordToggleEnabled' 已弃用。如果要添加切换,请使用:app:endIconMode="password_toggle" 并删除它:app:endIconMode="none"。也可以在 Java/Kotlin 中设置:endIconMode = END_ICON_NONE 或 endIconMode = END_ICON_PASSWORD_TOGGLE

以上是关于移除 Android N 中的显示密码图标的主要内容,如果未能解决你的问题,请参考以下文章

从 Internet Explorer 中删除清除和显示密码图标

在Qt中显示对话框的密码

Android中的密码提示字体

仅使用 Javascript 显示/隐藏单击按钮的密码

quickType 栏上的自动填充密码键盘键锁图标未显示 - iOS? - 已设置 textContentType = .password?

Android 设置密码文本是否暂时显示字符