아무것도없는 곳을 탭하여 키보드를 닫는 실현
2104 단어 안드로이드
개요
채팅풍 앱을 만들고 있으면 "아무것도 없는 곳 탭하면 키보드에 닫는다"라는 거동을 넣고 싶어집니다. 이를 위한 방법을 두 가지 생각해 보았으므로 소개합니다.
방법 1
「아무것도 없는 곳」은 구체적으로 말하면 키보드나
EditText
부분 이외의 RecyclerView
의 영역이 됩니다. 그래서, 솔직하게 RecyclerView
의 아이템에 대해서 클릭 청취자를 세트 해 그 안에서 키보드를 닫는 코드를 써 주면 좋을 것 같습니다.groupieAdapter.setOnItemClickListener { _, _ ->
hideKeyboard()
}
방법 2
다른 하나는 "포커스"를 이용하는 방법입니다.
EditText
이외의 View 에 포커스가 이동하면 키보드를 닫는다고 하는 작전입니다.editText.onFocusChanged { gainFocus, _, _ ->
if(!gainFocus) {
hideKeyboard()
}
}
포커스에 대한 자세한 것은 공식 문서 https://developer.android.com/guide/topics/ui/ui-events.html](https://developer.android.com/guide/topics/ui/ui-events .html 참조.
나머지는
RecyclerView
의 아이템의 layout 파일에 이하를 추기해, 아이템이 포커스를 취득할 수 있도록(듯이) 합니다.++ android:focusable="true"
++ android:focusableInTouchMode="true"
방법 2는 예를 들면 다이얼로그나 하단 시트를 열었을 때에 키보드를 닫고 싶다고 하는 경우에도 응용이 효과적이라는 점에서 뛰어나다고 말할 수 있을 것 같습니다. 임의의 View 에 포커스 가능성을 설정해 두면, 그 View 에 포커스가 이동했을 때에 키보드가 닫아 주기 때문입니다.
Reference
이 문제에 관하여(아무것도없는 곳을 탭하여 키보드를 닫는 실현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/maxfie1d/items/90a3d980efc209f45ead텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)