Android (안드로이드)

[Android] EditText InputType 정리

Oscar:) 2024. 6. 23. 22:21

 

 

EditText에 적용할 수 있는 InputType 종류에 대해 알아보자.

 

 

별 것 아니지만 막상 적용하려고 하면 이게 이거였나..?

하면서 자주 헷갈렸던 기억에, 미루고 미루다 이제서야 정리한다.

 

 

 

 


자주 쓰이는 InputType 종류

 

 

✅ default

 

 

InputType을 지정하지 않은 EditText의 기본 값이다.

 

기본 형식은 텍스트 기반이며, 우측 하단의 버튼으로 EditText 내에서 줄바꿈을 할 수 있다.

 

 

 


 

✅ text

 

 

default 타입과 비슷한 텍스트 기반이지만,

우측 하단의 버튼이 줄바꿈이 아닌 완료 기능을 해준다.

해당 버튼을 누르면 EditText가 포커스에서 벗어난다. (키패드가 내려감)

 

만약 화면 내에 EditText가 또 존재한다면, 다음 순서의 EditText로 포커싱이 자동 변경되는데,

이 기능으로 사용자에게 정말 뛰어난 편의성을 제공할 수 있다.

 

 

 

여러 EditText가 존재하는 화면에서는(ex. 회원가입 화면)

사용자가 반드시 여러 EditText를 지나쳐야만 한다.

 

default type과 text type을 사용했을 때의 사용자 시점을 비교하여 생각해보자.

 

● default type 사용 시 사용자 시나리오
텍스트 입력 → 키패드 내리기 → 다음 입력할 EditText 터치 → 텍스트 입력

● text type 사용 시 사용자 시나리오
텍스트 입력 → 완료 버튼 클릭 → 텍스트 입력

 

 

위 처럼, 완료 버튼이 존재한다면 번거로운 과정을 생략할 수 있다.

 

따라서 줄바꿈 기능이 꼭 필요한 상황이 아니라면,

웬만해서는 default 상태로 놔두지 말고 text로 변경해주는 것을 추천한다.

 

 

 


 

✅ textPassword

 

 

위 처럼 입력한 텍스트가 숨겨지기 때문에 비밀번호를 입력받을 때 사용할 수 있다.

우측 하단의 버튼 또한 완료 기능을 수행한다.

 

 

 


 

✅ numberPassword

 

 

textPassword와 동일하게 입력 받은 문자가 숨겨진다.

다만 키패드가 숫자만 입력받도록 표시된다.

 

숫자로만 구성된 인증번호, 주민등록번호 뒷자리 등을 입력받을 때 사용할 수 있겠다.

 

 

 


 

✅ number

 

 

숫자만 입력할 수 있는 키패드가 표시된다.

 

하지만 키패드에 표시된 [-,.공백] 과 같은 기호들은 사용할 수 없다.

눌러도 입력되지 않기 때문이다. (왜 표시되는지 이해불가)

 

 

 


 

✅ number|text

 

 

| 기호를 사용하면 2개 이상의 값을 할당할 수 있다.

 

그리하여 위와 같이 number와 text를 함께 사용하면

number에서는 사용할 수 없던 기호들을 사용할 수 있게된다.

 

 

0 버튼을 길게 클릭하면 + 기호가 입력되며,

*# 버튼을 클릭하면 아래와 같이 키패드가 전환된다.

 

 

전환된 키패드에서는 연산과 관련된 기호들도 입력할 수 있다.

 

 

 


 

✅ phone

 

 

전화번호를 입력하라는 듯한 이름이기에 숫자와 - 기호를 사용할 수 있다.

 

하지만 재미있는 점은 위에 표시한 - 기호 이외에도 다른 기호도 모두 입력된다.

즉, number|text 타입과 동일하다고 볼 수 있다.

 

 

 


 

✅ textEmailAddress

 

 

이메일 형식을 편하게 입력할 수 있는 타입이다.

 

표시해놓은 것처럼 @와 . 기호가 키패드에 표시된다.

사용하는 기기버전에 따라 .com 버튼이 존재하기도 한다.

 

[example@example.com]

위와 같은 이메일 형식에 특화되었다고 볼 수 있다.

 

 

 


 

✅ date

 

 

날짜와 관련된 값을 입력할 수 있는 타입이다.

 

2024-06-23
2024/06/23
2024.06.23

 

위와 같이 숫자와 함께 날짜를 작성할 때 자연스러운 기호 3개만 제공한다.

 

 

 

 


그 외 기타 InputType

 

 

textCapCharacters : 영문 대문자가 기본 세팅값으로 적용된다.

 

textCapWords : 텍스트 첫 글자가 영문 대문자로 적용된다. (단어 기준)

 

textCapSentences : 텍스트 첫 글자가 영문 대문자로 적용된다. (문장 기준)

 

textUri : URI를 입력하는 형식이다. (텍스트와 /. 기호 표시)

 

textWebEmailAddress : 이메일 형식의 키패드가 웹 양식으로 제공된다.

 

 

등 다양한 Type이 존재한다.

웬만큼 자주 사용되는 것들은 정리했고, 더 자세한 종류는 직접 사용해보며 알아보기 바란다.

 

 

 

 


 

 

 

막상 정리하다보니 이제 안 까먹을 것 같기도하고...