우찬쓰 개발블로그
안드로이드 EditText의 password 가려지는 문자 변경하기 본문
반응형
비밀번호 변경 등의 기능을 구현하다보면 패스워드 입력시의 가려지는 문자에도 디자인이 들어가는 경우가 있다.
이런 경우에는 어떻게 바꾸어주어야 할까?
간단히 예제로 해당 동그라미 문자를 #으로 바꾸어 보자
먼저 CharSequence 클래스를 상속받는다.
class CustomCharSequence(private val source: CharSequence): CharSequence {
override val length: Int
get() = source.length
override fun get(index: Int): Char {
return '#'
}
override fun subSequence(startIndex: Int, endIndex: Int): CharSequence {
return source.subSequence(startIndex, endIndex)
}
}
로직을 보면 알겠지만, get의 리턴값이 무조건 '#'이라는 문자인 것을 볼 수 있다.
이 로직으로 이제 PasswordTransformationMethod를 상속받은 클래스에 적용한다.
class CustomPasswordTransformationMethod : PasswordTransformationMethod() {
override fun getTransformation(source: CharSequence, view: View): CharSequence {
return CustomPasswordCharSequence(source)
}
}
그다음 EditText에 CustomPasswordTransformationMethod를 생성하여 적용한다.
et_pw.transformationMethod = MyPasswordTransformationMethod()
테스트해보면 기존의 동그라미로 표시되던 가림문자가 #으로 변경된 것을 확인할 수 있다.
이 부분에 있어서는 생각보다 레퍼런스를 찾기 힘들었는데, 누군가에게 도움이 되었으면 한다.
반응형
'안드로이드 > 안드로이드 개발' 카테고리의 다른 글
안드로이드 백그라운드에서 화면켜기 (0) | 2019.06.27 |
---|---|
안드로이드 GPS 및 주소값 가져오기 (0) | 2019.06.26 |
안드로이드 spinner에서 navigation bar hide 유지하기 (0) | 2019.06.15 |
안드로이드 코드상으로 폰트 적용 (0) | 2019.06.14 |
안드로이드 네트워크 상태 감지 리스너 설정하기 (0) | 2019.06.10 |
Comments