3

EditTextビュー内でパスワードを入力している間、文字が表示され、しばらくするとDOTとして表示されます。この遅延を取り除きたいです。DOT として直接表示する必要があります。

Androidでこれを行うにはどうすればよいですか?

4

4 に答える 4

1

パスワードを強制的に非表示にするには、

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

:文字は表示されません。Android :password属性がtrueに設定されているビュー内に遅延なくDOTが直接表示されます

于 2012-06-22T08:44:38.407 に答える
1

これは Android 内のユーザー設定です。コードから制御できるとは思いません。ユーザーが正しいパスワードを入力できるように設計されています。

--編集--質問者のコメントに加えて、設定は次の場所にあります。

設定 > セキュリティ > パスワードを表示する

上記は Android ICS に関するもので、設定は以前のバージョンと同様である必要があります。

于 2012-06-22T08:08:56.747 に答える
0

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;
}
于 2012-12-19T11:30:10.117 に答える