2013년 9월 4일 수요일

EditText show password toggle

먼저 layout xml 에 해당 EditText 의 password 속성을 true 로 설정한다.

자바 코드에서 해당 EditText 객체의 setInputType() 함수를 이용해서 toggle 한다.

Password 보이기
password.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);

Password 숨기기
password.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);

!) input type 을 변경하게 되면 커서 위치가 맨 앞으로 이동한다.
아래와 같이 마지막 커서 위치를 복원한다.
int pos = password.getSelectionEnd();
// input type 변경
if (pos >= 0) {
    password.setSelection(pos);
}


안드로이드 소스 참고:
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/4.3_r2.1/com/android/settings/wifi/WifiConfigController.java#WifiConfigController.updatePasswordVisibility%28boolean%29

댓글 없음:

댓글 쓰기