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

뷰를 Visible, Gone으로 돌려가며 보여줄시 깜빡임 문제.

+1 추천
안녕하세요, 안드로이드 초보 개발자입니다.

Relative 안에 3개의 Linear가 있습니다.

타이머를 돌려서 2초마다 다른 Linear레이아웃을 보여주고 있습니다.

LinearLayout은 3개 모두 width가 다릅니다.

타이머에서는 보여야할 LinearLayout을 Visible 시킨후,

해당 Linear를 제외한 2개를 Gone 시켜줍니다.

 

근데 이게 자꾸 깜빡임문제가 발생하네요 ㅠㅠ

마치 LinearLayout의 width가 확늘어났다가 원래 자기의 크기만큼으로 바뀌는것처럼 보이기두 하구요 ㅠ

이거... 어떻게 해결해야할지 감이 안잡힙니다... ㅠㅠ

조언 부탁드립니다.
블랙이요블랙 (12,860 포인트) 님이 2014년 3월 13일 질문

1개의 답변

+3 추천
 
채택된 답변
gone 대신 invisible을 써보세요.

gone을 사용하면 해당 뷰가 자리를 차지하지 않게 되어

LinearLayout을 사용하면 의도치 않게 뷰의 크기가 변경될 수 있습니다.

invisible을 사용하면 자리를 차지하고 있지만 보여주지만 않는거죠.
원조안드로이드 (58,190 포인트) 님이 2014년 3월 13일 답변
블랙이요블랙님이 2014년 3월 13일 채택됨
답변감사합니다!
덕분에 깜빡임문제는 해결되었는데..
그렇게하니까 가로길이가 가장긴 뷰의상태로 고정이 되어버리네요
상황에 따라 보여지는 LinearLayout의 뷰에 맞춰져야 하는데...
이에 대한 방법은 없을까요?
레이아웃이 불릴때마다 해당레이아웃의
getWidth()를 불러와서
크기를 변경시키면 되지 않을까요?
...