[안드로이드] 레이아웃 선언하기
- 프로그래밍 정보
- 2010. 8. 26.
반응형
읽기전에 손가락 한번 클릭~ >_<
고마워요 ~ Chu ~ ♥
이제 드디어 레이아웃에 관한 글을 포스팅 해보려 합니다.
내용이 좀 길어질것 같기 때문에 2개~3개 정도로 나누어 적으려 합니다.
따라서 관련 글은 링크에서 찾아 보세요 ^^
레이아웃 구조
레이아웃은 사용자에게 보여지는 UI를 말합니다.
레이아웃은 두 가지의 방법으로 만들 수 있는데요,
⊙ XML 로 선언하기
위젯, 레이아웃 등의 뷰와 뷰 하위클래스 들에 대한 XML 문법으로 만듭니다.
⊙ 소스코드에서 동적으로 선언하기
소스코드 내에서 뷰와 뷰 그룹을 제어할 수 있습니다. 레이아웃은 또한 유연성이 있기 때문에 XML로 선언된 레이아웃도 실행중에 동적으로 소스코드 내에서 수정이 가능하지요.
위젯, 레이아웃 등의 뷰와 뷰 하위클래스 들에 대한 XML 문법으로 만듭니다.
⊙ 소스코드에서 동적으로 선언하기
소스코드 내에서 뷰와 뷰 그룹을 제어할 수 있습니다. 레이아웃은 또한 유연성이 있기 때문에 XML로 선언된 레이아웃도 실행중에 동적으로 소스코드 내에서 수정이 가능하지요.
★ 이클립스의 ADT 플러그인은 XML 레이아웃 미리보기 기능을 지원합니다.
★ 계층구조 뷰어 툴 ( Hierarchy Viewer tool ) 을 통해 디버깅 또한 쉽게 할 수 있습니다.
☞ XML 로 UI를 선언하면 소스코드와 레이아웃이 분리되어, UI 에 대한 코드는 외부에 존재하는 것이 되므로 수정이나 유지보수성이 좋아지겠습니다.
또한 간결하기 때문에 디버깅에도 이점이 있구요,
XML 엘리먼트 이름은 클래스 이름에 대응되며, 속성은 메소드 이름에 대응됩니다.
대부분은 완벽히 대응되지만, 모든 엘리먼트 명 또는 속성명과 100% 일치하는 것은 아닙니다.
예를들어 EditText 의 setText() 에 대응하는 엘리먼트는 "text" 이지요.
레이아웃 선언
안드로이드의 XML 을 사용해서 UI 레이아웃을 디자인 할 수 있다고 했습니다.
각각의 레이아웃 파일은 하나의 루트 엘리먼트를 포함해야 하며 , 뷰 또는 뷰 그룹이어야 합니다.
루트 엘리먼트 선언 후 뷰 계층구조에 자식 엘리먼트로 위젯 등을 추가 할 수 있습니다.
XML 로 레이아웃을 선언하고 프로젝트 내의 res/layout/ 디렉토리에 .xml 파일로 저장합니다.
XML 레이아웃 리소스 읽어오기
XML 레이아웃은 어플리케이션이 컴파일 될 때 뷰 리소스로 컴파일이 되도록 되어 있는데요,
그런 뒤 Activity.onCreate() 메소드에서 레이아웃 리소스를 읽어옵니다.
즉, setContentView() 메소드에 파라미터로 " R.layout.XXX" 형태의 레이아웃 리소스 참조를 전달해야 합니다.
onCreate() 메소드는 액티비티가 시작될 때 호출되는 생명주기 콜백 메소드 입니다.
관련글
반응형