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
/////////////////////////////////////////////////////////////////////////////////////////
'구글과인터넷 > 안드로이드' 카테고리의 다른 글
안드로이드 화면 관련 이벤트 처리(ViewTreeObserver) (0) | 2012.12.12 |
---|---|
android 안드로이드 스크롤바 관련 (0) | 2012.12.12 |
안드로이드 로컬 설치옵션 설정 (0) | 2012.12.12 |