2012-06-22 42 views
1

在EditText视图中输入密码的同时,显示字符和延迟后它显示为DOT,我想要删除此延迟。它应该直接显示为DOT。移除android的延迟textPassword

如何在Android上执行此操作?

+0

你为什么要那么做? – Lipis

+0

@Lipis即使在输入密码时,身体也不应该看到我输入的字符。 :) –

+2

甚至没有你......! :)人们用我们的巨大手指犯了错误......当你第五次输入密码并且它仍然说错误的密码时,它非常恼人.. :) – Lipis

回答

1

要隐藏密码强行

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

注意:它不会显示任何字符,直接点将显示没有任何延迟里面有Android平台浏览:密码属性从AOSP设置为真正

1

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

- 编辑 - 进一步的问题提问者评论,该设置可以参见:

设置>安全>使密码可见

以上涉及到Android ICS,则必须设置类似于以前的版本。

+0

Android中的用户设置我可以在哪里配置? –

+0

它位于设置菜单的安全部分(至少在ICS中),可以选择“使密码可见”。 – melodiouscode

+0

它工作后,我取消选中使密码可见,但我不能以编程方式做到这一点? –

0

使用代码PasswordTransformationMethod .java并修改它以满足您的需求。创建新的类MyPasswordTransformation方法从它并修改其中的类可见。 它也需要更改代码的其余部分,因为它访问一些私有属性,但它们大多是常量,所以它很容易。

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; 
}