안드로이드 EditText 를 사용하다 보면 소프트 키보드의 '엔터'키 부분이
'검색', '엔터', '확인' 등 여러 형태로 바뀌는 것을 확인 할 수 있습니다.
이번 포스트 에서는 '엔터'키를 바꾸는 방법과 동작에 대해 알아보도록 하겠습니다.
'엔터'키 바꾸기
1. xml 로 바꾸는 방법
imeOptions 속성을 설정해 주면 됩니다.
<EditText |
2. java 코드 상에서 바꾸는 방법
setImeOptions() 함수를 사용해 바꿔줄 수 있습니다.
editText.setImeOptions(EditorInfo.IME_ACTION_SEARCH); |
- imeOptions 에 적용될 수 있는 어트리뷰트
xml
android:imeOptions="normal" // 특별한 의미 없음 android:imeOptions="actionGo" // '이동'의 의미 (예 : 웹 브라우져에서 사용) android:imeOptions="actionSearch" // '검색'의 의미 (예 : 네이버 검색창) android:imeOptions="actionSend" // '보내기'의 의미 (예 : 메세지 작성시 사용) android:imeOptions="actionNext" // '다음'의 의미 (예 : 회원가입시 다음 필드로 이동시) android:imeOptions="actionDone" // '완료'의 의미 (예 : 정보 입력창) android:imeOptions="actionPrevious" // '이전'의 의미 (예 : 회원가입시 이전 필드로 이동시) - API11부터 가능 |
java 코드
EditorInfo.IME_ACTION_NONE // 특별한 의미 없음 EditorInfo.IME_ACTION_UNSPECIFIED // 특별한 의미 없음 EditorInfo.IME_ACTION_GO // '이동'의 의미 (예 : 웹 브라우져에서 사용) EditorInfo.IME_ACTION_SEARCH // '검색'의 의미 (예 : 네이버 검색창) EditorInfo.IME_ACTION_SEND // '보내기'의 의미 (예 : 메세지 작성시 사용) EditorInfo.IME_ACTION_NEXT // '다음'의 의미 (예 : 회원가입시 다음 필드로 이동시) EditorInfo.IME_ACTION_DONE // '완료'의 의미 (예 : 정보 입력창) EditorInfo.IME_ACTION_PREVIOUS // '이전'의 의미 (예 : 회원가입시 이전 필드로 이동시) - API11부터 가능 |
'엔터'키 동작 시키기
위에서 바꿔준 엔터키 동작을 위해선 다음과 같이 코드상에 listener를 달아 줘야 합니다.
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() { |
*출처 : http://ccdev.tistory.com/31
'안드로이드 Android' 카테고리의 다른 글
안드로이드 에뮬레이터 - 미뮤(MEmu) 앱플레이어 (0) | 2018.05.20 |
---|---|
[안드로이드] 토스트(Toast) 사용하기 (0) | 2018.05.06 |
Android 웹 브라우저 링크로 앱 실행 방법 (1) | 2018.05.06 |
Theme.NoDisplay 테마 사용시 안드로이드 API 23에서 did not call finish() prior to onResume() completing 오류 발생 (0) | 2018.05.06 |
Android 투명 / 보이지 않는 Activity 만들기(Theme.Translucent / Theme.NoDisplay) (0) | 2018.05.06 |
댓글