删除android textPassword的延迟

时间:2012-06-22 08:06:07

标签: android passwords android-edittext

在EditText视图中输入密码时,会显示字符,经过一段时间后显示为DOT,我想删除此延迟。它应该直接显示为DOT。

我如何在Android上执行此操作?

4 个答案:

答案 0 :(得分:1)

这是Android中的用户设置,我不相信它可以从代码中控制。它旨在帮助用户输入正确的密码。

- Edit-- 关于问题评论的问题,可以在以下网址找到该设置:

设置>安全>使密码可见

以上内容与Android ICS有关,设置应与之前版本类似。

答案 1 :(得分:1)

隐藏密码强制

  

android.provider.Settings.System.putInt(this.getContentResolver(),android.provider.Settings.System.TEXT_SHOW_PASSWORD,    0);

注意:它不会显示任何字符,在 android:密码属性设置为 true

答案 2 :(得分:1)

使用AOSP PasswordTransformationMethod.java 中的代码并根据您的需要进行修改。从中创建新类 MyPasswordTransformationMethod 并修改其中的 Visible 类。 它还需要更改其余的代码,因为它访问一些私有属性,但它们大多是常量,所以它很容易。

private static class Visible
extends Handler
implements UpdateLayout, Runnable
{
    public Visible(Spannable sp, MyPasswordTransformationMethod ptm) {
        mText = sp;
        mTransformer = ptm;
        //postAtTime(this, SystemClock.uptimeMillis() + 1500); 
        //replaced with following line
        postAtFrontOfQueue(this);
    }

    public void run() {
        mText.removeSpan(this);
    }

    private Spannable mText;
    private MyPasswordTransformationMethod mTransformer;
}

答案 3 :(得分:-1)

我知道这很旧,但这里有一个有用的提示! (这也行)

如果您将焦点从当前 EditText 移动到下一个它会跳过延迟,因此如果您正在创建一个 PIN 屏幕,那么您只需要立即将焦点移动到下一个“pin”,它就会跳过延迟并立即显示星号。

如果您只有 1 个 EditText,您也许还可以将 rootView 或容器设置为可聚焦并给予焦点。