[Android] showSoftInput 와 hideSoftInputFromWindow 테스트
showSoftInput 와 hideSoftInputFromWindow 를 사용할 때 flag 값에 따른 결과를 유추해보았습니다.
## showSoftInput에 flag 값이 0일때
hideSoftInputFromWindow(view.getWindowToken,0) : 닫힘 (Closed)
hideSoftInputFromWindow(view.getWindowToken,InputMethodManager.HIDE_NOT_ALWAYS) : 닫힘 (Closed)
hideSoftInputFromWindow(view.getWindowToken,InputMethodManager.HIDE_IMPLICIT_ONLY) : 안 닫힘 (Not Closed)
## showSoftInput에 flag 값이 SHOW_FORCED일때
hideSoftInputFromWindow(view.getWindowToken,0) : 닫힘 (Closed)
hideSoftInputFromWindow(view.getWindowToken,InputMethodManager.HIDE_NOT_ALWAYS) : 안 닫힘 (Not Closed)
hideSoftInputFromWindow(view.getWindowToken,InputMethodManager.HIDE_IMPLICIT_ONLY) : 안 닫힘 (Not Closed)
## showSoftInput에 flag 값이 SHOW_IMPLICIT일때
hideSoftInputFromWindow(view.getWindowToken,0) : 닫힘 (Closed)
hideSoftInputFromWindow(view.getWindowToken,InputMethodManager.HIDE_NOT_ALWAYS) : 닫힘 (Closed)
hideSoftInputFromWindow(view.getWindowToken,InputMethodManager.HIDE_IMPLICIT_ONLY) : view의 focus 가 바뀌지 않는 이상 닫힘 (It's closed just if view is focued)
## 결론
위 테스트로써 내릴 수있는 결론
1. hideSoftInputFromWindow flag에 0를 주면 어떠한 상황에서든 닫힘
2. hideSoftInputFromWindow flag에 HIDE_NOT_ALWAYS를 주면 SHOW_FORCED를 제외하고는 닫힘
3. hideSoftInputFromWindow flag에 HIDE_IMPLICIT_ONLY 를 주면, SHOW_IMPLICIT 로 보여진 키보드만 닫힘
하지만, 보여준 view의 포커스가 변하면 닫히지 않음.
구글링이나 검색을 열심히 해봐도 위와 같은 테스트 데이터가 없길래 한번 만들어 봤습니다.
위 상황을 테스트한 App도 첨부하니 참고하세요.
## 이블로그는 어디까지는 찾았던 부분을 잊지 않기 위해 올려놓은 것 입니다.
내용이 부실해도 이해해 주시길 바랍니다.