앱을 사용하면서 지나쳤던 작은 요소!
바로 키보드의 InputMethodAction이다.
이미지 검색 앱을 만들어보면서 키보드의 엔터를 눌렀는데 검색이 안돼서 당황했었다. 사용할 때는 당연하다고 생각했던 것인데 따로 설정을 해줘야 한다!
EditText
나 TextView
와 같은 텍스트 입력 위젯에 대한 속성 중 하나로, 키보드와 관련된 동작을 제어하는 데 사용kt
파일에서 설정해줘야 됨!actionSearch
검색 필드에서 Enter 키를 누를 때 검색 동작 실행actionGo
텍스트 필드에서 Enter 키를 누를 때 특정 동작 실행 (ex. 로그인)actionNext
다음 입력 필드로 포커스 이동actionDone
텍스트 입력 완료actionSend
입력된 텍스트 전송actionNone
키보드 동작 지정 XactionSearch
로 설정했을 때의 키보드!이렇게 써서 각각의 형태에 맞게 기능이 실행되면 좋겠지만 따로 설정해줘야 함😢
actionSearch
로 설정했을때 실행될 동작을 정의할 코드searchEv.setOnEditorActionListener { _, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
val query = searchEv.text.toString().trim()
if (query.isNotEmpty()) {
// 검색 동작 처리 로직을 여기에 추가
// ex. setSearch(query) 또는 검색 화면으로 이동하는 등의 동작을 수행
}
// 검색 버튼을 눌렀을 때 항상 true 반환
return@setOnEditorActionListener true
}
return@setOnEditorActionListener false
}
[참고 사이트]