View 측정 값 획득 시기

보기의 측정 과정과activity의 생명주기가 동기화되지 않기 때문에 생명주기 방법에서 측정치를 얻을 수 없습니다.
측정 값은 비동기적인 측정 프로세스가 완료된 후에만 얻을 수 있습니다.두 가지 방법이 있다.
1. onResume()에서 view의 post 방법을 호출합니다.
보기의 측정은 메시지 대기열에서 이루어집니다. 시스템 메시지를 우선적으로 완성하고 시스템 메시지가 실행된 후에야 사용자 메시지를 실행합니다.이렇게 하면View에서post조건을 호출하는 메시지가 보기 측정이 끝난 후에 실행되며 측정의 폭과 높이를 얻을 수 있습니다.
int with, height;

    @Override
    protected void onResume() {
        super.onResume();
        imgGridView.post(new Runnable() {
            @Override
            public void run() {
                with = imgGridView.getMeasuredWidth();
                height = imgGridView.getMeasuredHeight();
            }
        });
    }

2. onWindow FocusChanged () 방법에서 폭을 얻습니다
보기가 초점true를 가져올 때 측정 과정이 완료되면 측정 값을 얻을 수 있습니다.하지만 DecorView를 통해 콘텐츠View를 얻으려면 이 방법을 좋아하지 않습니다.

좋은 웹페이지 즐겨찾기