스팀 앱 개발기 #109 - 개선: 태그 입력하고 검색 버튼 클릭 또는 엔터 키 누르면 키보드 닫기
개선: 태그 입력하고 검색 버튼 클릭 또는 엔터 키 누르면 키보드 닫기
No. 109
2023. 11. 04 (토) | Written by @dorian-mobileapp
시작하며...
태그 입력하고 검색 버튼을 클릭 또는 엔터 키를 누르면, 태그 화면에 포스트 리스트가 로딩됩니다. 여기서 아쉬운 점은요. 키보드가 여전히 떠있는 점입니다. 이번에는 개선점으로 태그 입력 후 키보드를 자동으로 닫기를 구현해 보았습니다.
작업 내용
- 태그 검색 버튼 클릭시 키보드 닫기
- 태그 입력하고 엔터 키 누르면 키보드 닫기
태그 검색 버튼 클릭시 키보드 닫기
키보드 닫는 방법은 이 포스트에 정리해 두었습니다. 확장 함수로 구현한 Activity.hideKeyboard(view) 메소드를 태그 검색 버튼 클릭시 호출하였습니다.
private val buttonTagSearchClickListener = View.OnClickListener {
val tag = binding.includeTagLookup.editSteemitTag.text.toString()
if (tag.isNotEmpty()) {
viewModel.currentTag.value = binding.includeTagLookup.editSteemitTag.text.toString()
}
hideKeyboard(it)
}
태그 입력하고 엔터 키 누르면 키보드 닫기
엔터 키 누름을 처리하는 키 리스너를 구현했죠. 거기서 엔터 키를 누르면 검색 버튼 클릭을 수행합니다. 이 곳에서는 추가로 작성할 코드가 없습니다. 참고로 기존 키 리스너 코드는 아래와 같습니다.
private val editSteemitTagKeyListener = OnKeyListener { view, keyCode, event ->
if (keyCode == KeyEvent.KEYCODE_ENTER) {
binding.includeTagLookup.buttonTagSearch.performClick()
true
}
false
}
GitHub Commit
마치며...
저번에 이어 이번 개선 작업도 간단한 것이라 긴 시간이 필요하지는 않았네요. 당분간은 추가로 개선 또는 수정할 점들을 구현하구요. 이후 프로필 화면 개발을 할 예정입니다.
지난 스팀 앱 개발기
- #108 - 개선: 태그 검색창에 엔터 키 적용
- #107 - 버그 수정: 태그 화면 복귀시 포스트 리스트 다시 로딩됨
- #106 - 포스트 화면 개발
- #105 - 포스트 화면의 로직 처리를 담당할 PostViewModel 클래스 개발
- #104 - 포스트 내용 읽기 기능을 Repository, Use Case 패턴에 적용
- #103 - 포스트 내용을 읽기 위한 bridge.get_discussion API 연동 코드 작성
- #102 - 포스트 내용을 읽기 위한 bridge.get_discussion API
- #101 - build.gradle에서 라이브러리 이름과 버전 통합
- #1 ~ #100
Layout provided by Steemit Enhancer hommage by ayogom
Posted through the ECblog app (https://blog.etain.club)
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.