1. 한 줄로 입력받기
xml 파일에서 maxLines 속성을 1로 설정하면 한 줄로 입력받을 수 있습니다.
이때 inputType을 반드시 명시해주어야만 제대로 동작합니다.
예를 들어 inputType을 text로 설정해주면 됩니다.
2. 키보드 사라지게 만들기
val inputMethodManager: InputMethodManager =
getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
// 키보드 사라지게 하는 코드
inputMethodManager.hideSoftInputFromWindow(currentFocus!!.windowToken, 0)
inputMethodManager를 먼저 생성한 후, 이를 사용해서 키보드를 사라지게 할 수 있습니다.
3. 엔터키 이벤트
imeOptions 속성을 사용하면 엔터키 입력에 따라 다양한 작업을 수행할 수 있습니다.
예를 들어 imeOptions가 actionDone일 경우, 액티비티 코드에서 다음과 같이 처리할 수 있습니다.
binding.editUserName.setOnEditorActionListener(object : TextView.OnEditorActionListener {
override fun onEditorAction(view: TextView?, actionid: Int, event: KeyEvent?): Boolean {
if (actionid == EditorInfo.IME_ACTION_DONE) {
val text = binding.editUserName.text.toString()
Toast.makeText(applicationContext, text, Toast.LENGTH_SHORT).show()
// 키보드 사라지게 만들기
val inputMethodManager: InputMethodManager =
getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(currentFocus!!.windowToken, 0)
return true
}
return false
}
})
이렇게 되면 사용자가 엔터키를 누르면 현재 입력했던 문자를 토스트 메시지로 띄우고, 키보드를 사라지게 만들 수 있습니다.
728x90
반응형
'Android > 공부' 카테고리의 다른 글
ListView와 RecyclerView의 차이점 (0) | 2021.12.17 |
---|---|
안드로이드 화면 전환 애니메이션(+ 화면에 보이는지 여부에 따라 애니메이션 다르게 설정) (0) | 2021.12.09 |
AnimationDrawable 사용해서 애니메이션 만들기 (0) | 2021.12.07 |
Databinding에 대해서 (0) | 2021.12.06 |
ViewModel에 대해서 알아보자 (0) | 2021.12.05 |