EditText에서 사용할 수 있는 유용한 속성

안석주·2021년 10월 21일
0

Android

목록 보기
3/8
post-custom-banner

프로젝트를 진행하며 EditText에 다양한 옵션들을 알게 됐다. 이번 기회에 정리해보며 잊어버릴 때마다 가끔씩 확인해봐야 겠다!

1. EditText에서 Input Type 지정해주기

EditText에 입력될 수 있는 값을 정해주는 기능이다. 예를 들어 인증번호를 입력받고 싶을 때, 숫자만 입력받을 수 있도록 해준다. 숫자 외에도 날짜, 텍스트, 시간 등 다양한 기능을 이용할 수 있다.

android:inputType="number"
....
android:inputType="date"

2. EditText에서 개행 막기

이메일 한줄을 입력받는다던가, 어떤 짤막한 글을 작성할 때 개행이 필요없다고 예상된다면, 아래와 같이 해보자.

android:singleLine="true"

그런데 현재 singleLine은 deprecated가 된 상태다. 그래서 singleLine을 사용하기 보다는, maxLines를 권장한다!

android:maxLines="1"  // 최대 한줄만 입력받는다! 

그런데 maxLines를 입력해도 여전히 개행은 된다. 왜그럴까?

maxLines를 사용할 때는 꼭 inputType을 지정해주어야 한다고 한다! maxLines와 함께 inputType을 지정해주면, 잘 작동한다.

3. EditText에서 포커스 넘겨주기

위와 같이 EditText에서 자동으로 포커스를 넘겨주고 싶다면?
각각의 EditText에 id를 작성한 뒤, 아래의 옵션을 사용한다!

android:nextFocusDown="@id/certification_number1"

그런데 간혹 안되는 경우도 있다.
그럴 경우 singleLine="true" 혹은 maxLines="1"을 같이 적용하고, focusable="true"까지 함께 적용해보길 바란다.

4. EditText에서 글자 수 제한하기

위의 GIF와 같이 글자 수를 제한해주고 싶다면, 아래의 옵션을 사용한다!

android:maxLength="1"   // 한 글자만 입력

5. EditText에서 엔터 키 기능 별 변경

안드로이드에서 EditText의 엔터 부분이 상황에 따라 다르게 나타나는 것을 본 적이 있을것이다. 예를 들면 인터넷 브라우저에서는 검색, 이동 또는 정보 입력창에서 완료 등과 같은! 이처럼 소프트 키보드를 상황에 맞게 바꿔줄 수 있다.

android:imeOptions="actionSearch"
android:inputType="text"

위와 같이 작성하면 되고, 여러 속성이 존재한다!

  • android:imeOptions="normal" ( 특별한 의미 없음)
  • android:imeOptions="actionGo" ( "이동" )
  • android:imeOptions="actionSearch" ( "검색" )
  • android:imeOptions="actionSend" ( "보내기" )
  • android:imeOptions="actionNext" ( "다음" )
  • android:imeOptions="actionDone" ( "완료" )
  • android:imeOptions="actionPrevious" ( "이전" )

후에 알게 된 것 또는 유용한 것은 추가하도록 하겠다!!

참고

https://youeye.tistory.com/120?category=517564

profile
뜻을 알고 코딩하기
post-custom-banner

0개의 댓글