프로젝트를 진행하며 EditText에 다양한 옵션들을 알게 됐다. 이번 기회에 정리해보며 잊어버릴 때마다 가끔씩 확인해봐야 겠다!
EditText에 입력될 수 있는 값을 정해주는 기능이다. 예를 들어 인증번호를 입력받고 싶을 때, 숫자만 입력받을 수 있도록 해준다. 숫자 외에도 날짜, 텍스트, 시간 등 다양한 기능을 이용할 수 있다.
android:inputType="number"
....
android:inputType="date"
이메일 한줄을 입력받는다던가, 어떤 짤막한 글을 작성할 때 개행이 필요없다고 예상된다면, 아래와 같이 해보자.
android:singleLine="true"
그런데 현재 singleLine은 deprecated가 된 상태다. 그래서 singleLine을 사용하기 보다는, maxLines를 권장한다!
android:maxLines="1" // 최대 한줄만 입력받는다!
그런데 maxLines를 입력해도 여전히 개행은 된다. 왜그럴까?
maxLines를 사용할 때는 꼭 inputType을 지정해주어야 한다고 한다! maxLines와 함께 inputType을 지정해주면, 잘 작동한다.
위와 같이 EditText에서 자동으로 포커스를 넘겨주고 싶다면?
각각의 EditText에 id를 작성한 뒤, 아래의 옵션을 사용한다!
android:nextFocusDown="@id/certification_number1"
그런데 간혹 안되는 경우도 있다.
그럴 경우 singleLine="true" 혹은 maxLines="1"을 같이 적용하고, focusable="true"까지 함께 적용해보길 바란다.
위의 GIF와 같이 글자 수를 제한해주고 싶다면, 아래의 옵션을 사용한다!
android:maxLength="1" // 한 글자만 입력
안드로이드에서 EditText의 엔터 부분이 상황에 따라 다르게 나타나는 것을 본 적이 있을것이다. 예를 들면 인터넷 브라우저에서는 검색, 이동 또는 정보 입력창에서 완료 등과 같은! 이처럼 소프트 키보드를 상황에 맞게 바꿔줄 수 있다.
android:imeOptions="actionSearch"
android:inputType="text"
위와 같이 작성하면 되고, 여러 속성이 존재한다!