woong's

Android Fragment layout 가로 세로 값 얻기 본문

Develop/Android

Android Fragment layout 가로 세로 값 얻기

dlsdnd345 2016. 2. 14. 17:25
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Android Fragment layout 가로 세로 값 얻기 



Colored By Color Scripter

1
2
3
4
    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        
    }

 

 

​Activity 에서는 이 메서드 안에서 Layout.getWitdh() , Layout.getHeight() 를 하면 값을 얻을 수 있다.


하지만 Gragment 에서는 이벤트가 발생하지 않는다.


Fragment 에서는 


Colored By Color Scripter

1
2
3
4
5
6
7
8
9
10
11
12
13
        ViewTreeObserver viewTreeObserver = layoutBodyBar.getViewTreeObserver();
        viewTreeObserver.addOnGlobalLayoutListener(mOnGlobalLayoutListener);
 
    /**
     * Fragment onWindowFocusChanged 이벤트가 발생되지 않아 mOnGlobalLayoutListener 대체
     */
    OnGlobalLayoutListener mOnGlobalLayoutListener = new OnGlobalLayoutListener(){
 
        @Override
        public void onGlobalLayout() {
            
        }
    };

위 리스너를 통해서 하면 레이아웃이 생성되는 시점에 getWidth(), getHeight 값을 얻을 수 있다.


상단의 ViewTreeObserver​ 에 해당 레이아웃을 넣어주면 쉽게 구할 수 있다.


Comments