안드로이드의 기존 class를 상속해서 확장 Control을 구현해보자.
Android의 Base Class를 상속해서 만드는 방법이 있을 수 있겠다.
일단 Control을 만들고자 한다면 안드로이드 UI Framework의 기본 구조를 어느정도는 알고 있어야 한다.
아래 참조 해보자.
위 그림은 Android의 대략적인 Hierarchy이다.(완전히 순서대로 그리진 않았다 좁아서..)
모든 UI Framework의 공통 형태는 다 비슷하다. 결국 포커스가 이동하고 글씨를 뿌려주고 각 객체들을 담는 그릇 객체의 조상등등
뭐 인간세상도 비슷하다.
Android도 마찬가지이다. 다만 용어가 좀 생소하다.
내 경우엔 Win32와 팜, WIPI을 오래 해와서 인가? 사실 Android의 네이밍들이 상당히 맘에 안든다. 뭔가 다르다는것을 강조 하려고 한것인지 일반적으로 기존에 사용되던 이름들보다는 자기들 나름대로 적은게 많이 보인다.
(솔직히 적응하기 짜장난다. 유추가 안되서 framework이라는게 습득하기 쉬우면 좋겠는데..)
Object
Java해본 사람이야 다 아는 class의 최상위 조상이다.
View
GUI Framework의 가장 기본이 되는 class이다. 이것 또한 나름대로 만들어서 사용할 수 있겠으나. 굳이 그럴필요가 있으려나?
아무튼 이것은 화면을 보여주는 것의 가장 기본단위라고 생각하면 된다. 이것들을 상속 받아서 여러가지 Control이 생성된다.
그 어떤것도 만들수 있다. EditBox, Radio, Panel등등, 사용자 입력에 대한 처리 및 출력이 가능하다.
VCL이나 비베를 해본 사람은 Control class를 생각 해보면 되겠다.
View Group
View에서 파생된 모든 child class들을 다 담을 수 있다. 예를 들어 RadioGroup, ListView등은 다른 Control들을 담을 수 있다.
일종의 GUI Container class라고 볼 수 있다.
VCL이나 비베를 해본 사람은 Panel Class를 생각 하면 딱맞다. Control을 올릴때 사용하는 class이다.
TextView
글씨 출력을 할 수 있는 가장 기초가 되는 class이다. ViewGroup에서도 canvas를 이용해서 그릴수 있지만 이것은 개별 Control이다.
이것을 상속 받아서 Button, EditText, RadioButton등을 만든다.
ex)위에서 주황색 테두리는 ViewGroup, 빨강색은 View또는 TextView를 상속 받은 것들이라고 볼 수 있겠다.
'스마트기기개발관련 > 안드로이드 개발' 카테고리의 다른 글
재사용 가능한 UI 컴포넌트로 레이아웃 구성하기 (0) | 2011.05.12 |
---|---|
[번역] 안드로이드 Layout Tricks (0) | 2011.05.12 |
안드로이드 UI - droiddraw (0) | 2011.05.02 |
안드로이드 개발툴 UI 관련 (0) | 2011.05.02 |
이클립스 안드로이드 설치!! (0) | 2011.04.28 |
댓글 영역