마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Fragment 구조에서 EditText입력시 특정 뷰 키보드에 가리기

0 추천

 

아래와 같이 구조가 되어있는데, 이상적인 화면을 원하여 Soft키보드를 건드려보려했지만

적용이 안되는거 같네요.

Fragment구조이고, EditText를 누르면 키보드가 올라오면서 Layout을 가리고 싶은데

방법이 있을가요?

EditText에는 TextWatcher를 추가하여 실시간으로 RecyclerView의 데이터가 변하게 되어있습니다.

 

 

 

개발자초심 (21,220 포인트) 님이 2016년 5월 24일 질문
두 분의 답변이 큰 도움 되었습니다. 감사합니다.

2개의 답변

+1 추천
 
채택된 답변
하단에 Layout이 계속 나와 있는거라면 키보드가 올라올때 자연스럽게 가리는게 불가능 하고요

아마 채팅앱에서 이모티콘 키보드 같은거 구현하는 예제를 찾아보시면 어느정도 답이 나올꺼 같습니다

대략 소프트 키보드의 높이를 계산해서 하단에 Layout의 높이를 키보드 높이와 같이 설정한 후

키보드가 올라올때 Gone 시켜 가면서 하는 원리 이긴 한데 키보드의 높이를 얻을수 있는 API를

제공해 주지 않기 때문에 키보드가 올라올때 그 높이를 구해서 해당 Layout의 높으를 설정해주시면

처음에는 버벅이지만 그이후에는 조금 자연스러운 전환이 가능할껍니다

카톡의 경우를 관찰해 보시면 처음 채팅방에 들어가자마자 이모티콘 버튼을 누르면 이모티콘 선택 Layout이 올라오고 그상태에서 EditText를 눌러보시면 이모티콘 Layout이 사라진후 키보드가 올라오는 모습을 볼수 있을 겁니다

그 과정이 초반에 키보드의 높이를 모르기 때문에 그렇게 나오는거고 그 후에 다시 이모티콘을 눌러보시면 키보드와 이모티콘 Layout간의 전환이 자연스럽게 되는것이 보일것입니다.

라인 같은 경우는 초반에는 카톡과 비슷했지만 요즘엔 아에 상단으로 이동시킨것을 보아 하단에 키보드 문제 때문에 그런것으로 보입니다

텔래그램은 좀더 자연스러워 보이는데 텔래그램의 경우 오픈소스로 소스를 공개하고 있기 때문에

원하시면 텔래그램 소스를 분석해보시면 해답이 있을수도 있을꺼 같습니다
페어리 (12,270 포인트) 님이 2016년 5월 25일 답변
개발자초심님이 2016년 5월 25일 채택됨
+1 추천
키보드가 올라오면 Layout 부분을 숨기세요.
익명사용자 님이 2016년 5월 24일 답변
...