본문 바로가기

Programming Study/안드로이드

레이아웃


레이아웃(Layout)은  다른 View를 포함해서 화면을 구성할 수 있는 클래스를 지칭한다.

다음은 API에서 ViewGroup을 상속한 클래스를 보여준다.
이 중에서 Layout으로 끝나는 뷰만이 레이아웃이라고 불린다.
 java.lang.Object 
   ┗ android.view.View 
     ┗ android.view.ViewGroup

▶ Known Direct Subclasses
AbsoluteLayout, AdapterView<T extends Adapter>, FragmentBreadCrumbs, FrameLayout, LinearLayout, RelativeLayout, SlidingDrawer 
 
▶ Known Indirect Subclasses
AbsListView, AbsSpinner, AdapterViewAnimator, AdapterViewFlipper, AppWidgetHostView, CalendarView, DatePicker, DialerFilter, ExpandableListView, Gallery, GestureOverlayView, GridView, HorizontalScrollView, ImageSwitcher, ListView, and 19 others. 

http://developer.android.com

안드로이드 개발시에 많이 사용되는 레이아웃은 4가지이다.
˚ LinearLayout
˚ FrameLayout
˚ RelativeLayout
˚ TableLayout

 ˚ LinearLayout < 리니어 레이아웃 >
 선형으로 뷰들을 관리하는 레이아웃을 말함.
 선형 배치관리자라고도 함

 상속 계층도
java.lang.Object
┗android.view.View
   ┗android.view.ViewGroup
      ┗android.widget.LinearLayout

※ 리니어 레이아웃에서 꼭 기억해야 할 속성
android:orientation
vertical - 뷰를 수직으로 배치
horizontal - 뷰를 수평으로 배치

자세한 사항은 API 참조
 ˚ FrameLayout < 프레임 레이아웃 >
뷰들을 화면 왼쪽 상단을 기준으로 배치하는 레이아웃

 상속 계층도
java.lang.Object
┗android.view.View
   ┗android.view.ViewGroup
      ┗android.widget.FrameLayout
 ˚ RelativeLayout < 릴레티브 레이아웃 >
상대적 위치에 기반하여 뷰를 배치하는 레이아웃
상대적 배치관리자라고 함

상속 계층도
java.lang.Object
┗android.view.View
   ┗android.view.ViewGroup
      ┗android.widget.RelativeLayout

※ 중요하게 보아야 할 속성
android:layout_toRightOf - 현재의 뷰를 기준의 오른쪽에 배치
android:layout_LeftOf - 현재의 뷰를 기준의 왼쪽에 배치
android:layout_below - 현재의 뷰를 기준의 아래에 배치
android:alignParentXXXX - 현재뷰를 부모 뷰의 XXXX 방향에 배치

자세한 사항은 API를 참조
  ˚ TableLayout < 테이블 레이아웃 >
테이블형태로 뷰를 배치하는 레이아웃
테이블 형태로 일관되게 뷰를 배치할 수 있으므로 많은 뷰를 배치하는 경우 유용하게 사용

 상속 계층도
java.lang.Object
┗android.view.View
   ┗android.view.ViewGroup
      ┗android.widget.LinearLayout
         ┗android:widget.TableLayout

※ 주요 속성
android:stretchcolumns - 늘어날 수 있는 컬럼
android:layout_span - 한칸으로 만들기 위한 칸수
android:layout_column - 컬럼 위치(컬럼의 위치는 0부터 시작)

자세한 사항은 API 참조


'Programming Study > 안드로이드' 카테고리의 다른 글

스레드(Thread)  (0) 2011.08.04
안드로이드 로그  (0) 2011.08.02
안드로이드에서 지원하는 이미지 형식  (0) 2011.08.02
안드로이드 치수  (0) 2011.08.02
인터페이스 구성 요소  (0) 2011.08.02