При вводе пароля в режиме EditText отображаются символы и после некоторой задержки отображается как DOT, я хочу удалить эту задержку. Он должен отображаться непосредственно как DOT.
Как это сделать на Android?
Чтобы скрыть пароль принудительно,
android.provider.Settings.System.putInt(this.getContentResolver(), android.provider.Settings.System.TEXT_SHOW_PASSWORD, 0);
Примечание. Он не будет показывать никаких символов. Прямо DOT будут отображаться без каких-либо задержек внутри вашего представления, у которого установлен атрибут android: password, равный true
Используйте код из 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;
}
Это пользовательская настройка в Android, я не верю, что она управляема из кода. Он предназначен для того, чтобы помочь пользователю ввести правильный пароль.
--Edit-- В дополнение к комментарию вопросников, параметр можно найти в:
Настройки> Безопасность> Сделать видимыми пароли
Вышеупомянутое относится к Android ICS, настройка должна быть аналогичной в предыдущих версиях.