본문 바로가기
Lecture/Android

3. 레이아웃과 컴포넌트

by 알 수 없는 사용자 2012. 5. 21.
반응형

레이아웃이란 화면의 배치를 말하는데, 자바에는 기본적으로 배치관리자가 있습니다. 그래서 winapi에 비해 gui프로그래밍을 할때 신경쓸게 한두게가 아닙니다. 안드로이드 플렛폼도 자바언어를 이용하기때문에 배치관리자를 통해 레이아웃을 구성합니다. 레이아웃을 구성할때에는 위지윅 에디터가 있기때문에 비교적 섬세한 레이아웃 구성이 가능하도록 도와줍니다.

<위지윅 모드>


보통 왼편에 파레트에서 레이아웃을 drag & drop 하여 뷰에 적용하는데 레이아웃 외에도 컴포넌트까지 동일하게 적용 가능합니다.



레이아웃은 xml 코드로 구성하는데 위지윅으로 구성된 코드를 보고 수정할수도 있습니다.

<xml code>


위지윅이 있음에도 불구하고 xml을 지원하는 이유는 간혹 api level에 따라 지원되지 않는 상수를 쓸경우나 위지윅에서 못보던 구문 애러를 디버깅할때 사용합니다. 또는 xml로만 레이아웃을 구성하는 개발자들도 있기때문에 다방면으로 개발방법을 지원합니다.



레이아웃의 종류에는 Linear , Relative , Frame , Table 등이 대표적으로 쓰입니다. 이들은 화면의 배치구성을 할때 주로쓰이고 화면을 채울때는 컴포넌트를 레이아웃내부에 삽입하여 구성합니다. 그러니 결론적으로 레이아웃만으로는 화면에 색상조절 외에는 어떤 효과도 줄 수 없습니다.


■ 기본 레이아웃인 Linear

Linear 선형레이아웃을 말하는데 가로와 세로 두종류를 지원합니다. 가로 Linear를 구성하면 그 내부에 들어가는 컴포넌트들은 모두 가로로 구성되며 breaking(개행)현상이 일어납니다. 그러나 세로 Linear로 구성하면 내부에 들어가는 컴포넌트들이 모두 breaking 현상이 일어나므로 이 두가지 레이아웃을 적절히 사용하면 생각하는 모든 레이아웃은 쉽게 구성이 가능합니다.

<가로 Linear>


<세로 Linear>


Outline탭에서 레이아웃의 Properties에 Orientation을 어떻게 지정하느냐에 따라 위 사진과 같이 내부 컴포넌트의 배치가 달라집니다. 


레이아웃도 하나의 컴포넌트로써 레이아웃 내부에 레이아웃을 삽입하는것이 가능하므로 구성하는 방향은 개발자의 몫입니다.

(Linear 외의 레이아웃은 직접 해보시고 그에따른 레퍼런스는 개발자 사이트에서 확인하시는게 파워개발자로 거듭나는길이니 api를 참조합시다.)



컴포넌트란 화면을 구성하는 독립적인 오브젝트들을 말합니다. 이러한 오브젝트들은 사용자와의 대화를 위해 사용되거나 표현의 목적으로 구성됩니다. 레이아웃과 다르게 컴포넌트 내부에 컴포넌트를 삽입할 수 있기도 하며, 그 반대일 수  있습니다. 컴포넌트의 대표적인 예로써 button , edittext , textview  등이 있습니다. 


컴포넌트들은 모두 독립적인 스레드를 갖고 실행되며 안드로이드내부에서는 따로 스레드코드를 작성할 필요가 없습니다.

'Lecture > Android' 카테고리의 다른 글

안드로이드 웹 캐시 삭제  (0) 2012.07.07
구글맵 api 와 keytool  (0) 2012.07.04
view와 interface  (0) 2012.06.02
2. 안드로이드 생명주기  (0) 2012.05.09
1. 안드로이드 프로젝트 구성  (1) 2012.05.04