Ref_https://ccdev.tistory.com/m/31
android:inputType="" << textEmailAddress, password, number등 어떠한 목적을 가지고 있는 edittext인지 설정
android:imeOptions="" << actionNext, actionDone등 키보드에서 완료 버튼을 누를 시? 작용
xml 코드
android:imeOptions="normal" // 특별한 의미 없음
android:imeOptions="actionUnspecified" // 특별한 의미 없음
android:imeOptions="actionNone" // 특별한 의미 없음
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부터 가능
editText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
switch (actionId) {
case EditorInfo.IME_ACTION_SEARCH:
Toast.makeText(getApplicationContext(), "검색", Toast.LENGTH_LONG).show();
break;
default:
Toast.makeText(getApplicationContext(), "기본", Toast.LENGTH_LONG).show();
return false;
}
return true;
}
});
이벤트 설정도 가능
EditText의 android:imeOptions 속성에 flagNoExtractUi
<EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:imeOptions="flagNoExtractUi" ></EditText>