[View] 뷰의 크기 문제

액티비티의 onCreate() 메서드 등에서 암만 view.getWidth() 등을 써봐야 말짱 도루묵이다. 이는 뷰가 아직 그려지지 않았기 때문이다. 그렇다면 어찌해야 하는가. 뷰의 post() 메서드를 이용하자.

view.post(new Runnable() {
    @Override
    public void run() {
        if (view.getWidth() < view1.getWidth()*10) {
            view1.setVisibility(View.GONE);   
        } 
    }
}); 
post() 메서드는 잠시 기다렸다가 UI 스레드에서 Runnable을 실행하란 얘기다.

이 블로그의 인기 게시물

좌표 변환: 회전 이동

Unmappable character for encoding MS949

글롭 (glob) - 파일 패턴 일치 여부