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

키보드 올라올때 원하는 View만 Resize 안되게 하는 법 있나요?

0 추천
안녕하세요.

찾다 찾다 못찾아서.. 이렇게 질문 올립니다.

 

먼저 앱 화면 구조를 설명드리자면

<액티비티>

     <메인 프래그먼트> - 약 6개의 ViewPagerFragment가 올라가 있음.. 최초 인플레이트에 엄청난 시간 소요.

          <웹뷰 프래그먼트> - FragmentStack에 올라가있음.

이런 형태입니다.
 

<웹뷰 프래그먼트> 에서 타사의 웹페이지를 연동하고 있습니다만, 해당 페이지상에서 Input 이벤트(입력창 터치)에 의해 소프트 키보드가 나타나면서 입력창을 가리는 문제가 있습니다.

해당 문제를 해결하기 위해 softInputMethod를 adjustResize로 변경하여 원하는 결과를 얻었지만,

소프트키보드가 나타나고 사라질때 엄청난 시간이 소요되고 있습니다.

원인을 분석 해 보니 소프트 키보드가 나타나거나 사라질때 adjustResize 값에 의해 Activity가 Resize되고 있는데

이때 바닥에 깔려있는 메인 프래그먼트의 View들이 다시 그려지면서 발생하는 렉이었습니다.

 

가장 좋은 해결책은 메인 프래그먼트를 가볍게 하는 것이나, 그것은 불가능한 상황이기 때문에 질문 드립니다.

 

전제조건 ::

1. 메인프래그먼트 퍼포먼스 향상 및 구조변경은 예외로 한다.

2. adjustPan이 아닌 adjustResize의 효과를 보아야 한다.

 

현상태에서 제가 찾고 있는 방법.

 - 메인 프래그먼트의 View들을 감싸고 있는 Container격의 View만 Resize에서 제외되도록 하는 방법

 

혹시라도 좋은 방법을 알고 계신다면 답변 부탁드립니다.

 

감사합니다.
쿠마코 (650 포인트) 님이 2014년 2월 11일 질문

1개의 답변

0 추천
 
채택된 답변
일단 adjestResize에서 제외하려는 view의 높이값을 고정값으로 주면 됩니다. 예를 들어 300dp 같이 말입니다.
방귀과장 (18,940 포인트) 님이 2014년 2월 12일 답변
쿠마코님이 2014년 2월 17일 채택됨
...