2012-06-22 90 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; 
}