지난 시간엔 텍스트뷰에 대해 자세히 알아봤으니 이번엔 에디트텍스트에 대해 알아볼까요?
우선 속성부터 살펴봅시다.
[ inputType : 입력받을 데이터 종류 설정 ]
EditText를 터치하면 기본적으로 다음과 같이 문자를 입력받는 키보드가 열립니다.
![]()
하지만 EditText에 inputType 속성을 추가하고 'number'를 지정한다면!
다음과 같이 숫자 키보드가 열리며, 숫자만 입력받을 수 있게 됩니다.
![]()
inputType 속성에 'textPassword'를 지정하면?
![]()
![]()
속성값 이름에서 알 수 있듯이 입력한 문자가 동그라미로 대체되어 보입니다~
inputType에 지정할 수 있는 속성값은 이렇게 많으니
실습을 통해 직접 키보드를 확인해보면서 자신의 앱에 적용할 적절한 키보드를 찾아내시길 바랍니다.
[ imeOptions : 키보드 특수키 지정 ]
일반적으로 여러 줄 입력이 가능한 EditText의 키보드 오른쪽 밑 구석에는 '개행키'가 있습니다.
![]()
하지만 한 줄 입력만 가능한 EditText에서는 개행키가 필요없죠.
그래서 이 개행키
를
다른 기능을 가진 키
로
대체할 수 있는 속성이 존재합니다!
그것이 바로 imeOptions 속성입니다.
imeOptions 속성을 사용하기 위해 다음과 같이 singleLine 속성을 true로 지정해 한 줄 입력모드로 바꾼 뒤
![]()
imeOptions 속성을 추가하고 'actionNext'를 지정해봅시다.
![]()
그러면 개행키가 '다음키'로 변경되어 나타나는 것을 볼 수 있습니다.
![]()
다음키는 이렇게 에디트가 여러 개 있을 때
![]()
누르면
![]()
다음 에디트로 포커스가 이동하게 됩니다.
![]()
imeOptions 속성도 아래와 같이 다양한 값을 지정할 수 있으니 직접 확인하시기 바랍니다~
![]()
[ maxLength : 입력 문자수 제한 ]
maxLength는 입력할 문자수를 제한하는 속성입니다.
한번 다음과 같이 maxLength 속성을 설정해볼까요?
![]()
![]()
maxLength에 7을 설정했으니 최대 7개의 문자만 입력받을 수 있습니다.
문자 7개를 입력한 후에는 아무리 키보드를 눌러도 반응하지 않습니다.
[ digits : 입력가능 문자 설정 ]
digits 속성은 입력가능한 문자를 설정하는 속성입니다.
digits 속성은 아래 사진과 같이 사용합니다.
![]()
이렇게 해놓으면 digits 속성으로 지정한 'a', 'b', 'c', 'd' 문자 밖에 입력하지 못합니다.
![]()
실제로 키보드를 열어 입력을 해보면 abcd키를 제외한 키는(심지어 대문자 ABCD 조차) 아무리 눌러도 반응이 없는 걸 볼 수 있습니다.
digits 속성에 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"를 지정하면
영문자와 숫자만 입력이 가능하게 되니 한글 입력을 막을 때 유용하게 쓸 수 있겠죠~
SSISO Community