Android/App개발2010. 4. 28. 15:05
아래의 순서로 작성하면 됨.
1. View나 View subclass를 확장
2. 필요한 메소드들을 오버라이드

오버라이드할 메소드 리스트
1. 생성관련
  생성자 : code상으로 생성되는 생성자와 layout파일로부터 inflate되면서 생성되는 경우에 호출되는 생성자 두가지가 있으며 두번째 생성자는 layout파일에 정의되어 있는 속성들을 파싱하여 적용하는 부분이 추가로 코딩되어야 한다.
  onFinishInflate : layout XML파일로부터 뷰와 그의 모든 차일드들이 inflate된 후에 호출됨. 이 때 추가로 어떤 작업을 하고자 하는 경우 여기서 하면 된다.
2. Layout관련
  onMeasure(int, int) : 부모에서 계산된 width, height 스펙값내에서 뷰와 차일드들의 크기를 계산하여 적용한다.
  onLayout(boolean, int, int, int, int) : 뷰가 size와 postion을 모든 차일드에 지정해야 할경우 호출된다.
  onSizeChanged(int, int, int, int) : 뷰의 size가 변경된 후 호출된다.
3. 그리기관련
  onDraw(Canvas) : View가 내용을 다시 그려야 할 때 호출된다.
4. Event 처리
  onKeyDown(int, KeyEvent) : 새로운 key event가 발생하였을 때 호출된다.
  onKeyUp(int, KeyEvent) : key up event가 발생하였을 때 호출된다.
  onTrackballEvent(MotionEvent) : 트랙볼 모션이벤트가 발생하였을 때 호출된다.
  onTouchEvent(MotionEvent) : 터치스크린의 모션이벤트가 발생하였을 때 호출된다.
  onFocusChanged(boolean, int, Rect) :  View가 포커스를 얻거나 잃었을 때 호출된다.
  onWindowFocusChanged(boolean) : View를 포함하고 있는 윈도우가 포커스를 얻거나 잃었을 때 호출된다.
5. Attach관련
  onAttachedToWindow() : View가 Window에 attach되었을 때 호출된다.
  onDetachedFromWindow() : View가 Window로부터 detach되었을 때 호출된다.
  onWindowVisibilityChanged(int) : View를 포함하는 window의 visibility가 변경되었을 때 호출된다.



Posted by 삼스