안드로이드 개발을 하다보면 자주 사용하는 EditText가 있다. 그런데 사용자는 값을 입력 후 검색 혹은 로그인, 저장 등의 활동을 할 것이다. 이 때 EditText를 숨겨주지 않는다면, 사용자는 해당 앱에 대해 매우 불편함을 느낄 것이다.
해결 방법은 간단하다.
안드로이드에서는 InputMethodManager를 제공하는데 해당 클래스의 메서드를 활용하여, SoftInput(입력화면)을 숨기거나 가져올 수 있다.
해당 메서드는 아래와 같다.
public boolean hideSoftInputFromWindow(IBinder windowToken, int flags)
입력창을 숨기는 메서드
public boolean showSoftInput(View view, int flags)
입력창을 보여주는 메서드
간단한 예로 아래와 같이 사용하면 된다.
fun softInputControll(view: View, wantToShow: Boolean) {
val manager = view.context?.getSystemService(Context.INPUT_METHOD_SERVICE) as? InputMethodManager
if (manager != null) {
if (wantToShow)
manager.showSoftInput(view, 0)
else
manager.hideSoftInputFromWindow(view.windowToken, 0)
}
}
'안드로이드' 카테고리의 다른 글
안드로이드에서 주소를 좌표로 변환 하기(GeoCoder) (0) | 2020.03.19 |
---|---|
Android RecyclerView 갱신이 안되는 원인 정리 (0) | 2020.03.17 |
Android Asset 활용하기 (0) | 2020.03.10 |
다른 앱의 알림(Notification) 내용 가져오는 방법(알림 접근) (1) | 2020.03.09 |
RxJava - (1) 소개 및 초기 설정 (0) | 2020.02.25 |