스마트기기개발관련/안드로이드 개발

android 안드로이드 - ondraw전에 수행해야 할 일이 있는 경우 (onPreDrawListener 등록)

AlrepondTech 2012. 10. 23. 16:03
반응형

 

 

 

 

=================================

=================================

=================================

 

 

 

 

 

 

출처: http://blog.naver.com/c001guy4ever?Redirect=Log&logNo=80124956087

 

on draw에서 모든 화면 업데이트를 처리 해야 하지만, 

ondraw 직전에 뭔가 꼭 해야 하는 일이 있다면 

아래와 같이 OnpreDrawListener를 등록 해서 사용할수 있다.

 

 

View viewLayer = findViewById(R.id.layout_total_container); // 일반적으로 top 레이어

ViewTreeObserver vto = viewLayer.getViewTreeObserver();  //옵저버 얻기

  });


   
  vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
   
   @Override
   public boolean onPreDraw() {
    // TODO Auto-generated method stub
    return false;
   }
  });

 

이와 비슷한 리스너로는  아래와 같은 것들이 있다.

 

 

//터치모드 변경 리스너 등록vto.addOnTouchModeChangeListener(new ViewTreeObserver.OnTouchModeChangeListener() 

//자식뷰의 포커스 변경 이벤트 리스너 등록

vto.addOnGlobalFocusChangeListener(new ViewTreeObserver.OnGlobalFocusChangeListener() 

vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() 

 vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() 
 vto.
addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() 

 

자세한 사항은 아래의 링크에서 확인하시길

http://blog.naver.com/dong277?Redirect=Log&logNo=130082728620

 

 

 

=================================

=================================

=================================

 

 

 

 

반응형