뷰 (View) & 레이아웃 (Layout)

안드로이드 | 2010.10.07 13:13
Posted by 하드락



 
(View)


(View) 어플리케이션의 화면상에서 유저 인터페이스를 구성하는 Visual 구성요소 의미하며,

전통적인 데스크톱 개발에서의 컨트롤(Control) 또는 위젯(Widget) 비슷하다고 있다.

 

예를 들어, 버튼, 그림, 텍스트, 에디트, 라디오 버튼, 체크박스 등의 기본적인 화면 구성 요소들이 뷰에 포함된다.

뷰의 리스너(Listener) 설정을 통해 이벤트가 발생했을 경우를 처리할 있다.

예를 들어 버튼이 클릭되었을 등록된 OnClickListener() 호출되어 처리된다.



  그룹 (ViewGroup)


그룹(ViewGroup) 여러 개의 자식 View 객체를 담을 있는 View 클래스의 확장이다.

그대로 여러 개의 다양한 형태의 자식 View 객체들을 담고 있는 컨테이너 ViewGroup라고 한다.


ViewGroup 클래스를 확장하면 서로 연결된 여러 자식 뷰로 이뤄진 복잡한 컨트롤을 만들 있다.

ViewGroup View 다른 ViewGroup 가질 있는 구조적 형태를 지원하므로 자신이 자신을 포함하는 형태가 가능하다. ViewGroup 클래스는 레이아웃을 위한 기본 클래스로도 사용된다.

 

일반적으로 안드로이드에서는 Activity UI View ViewGroup 트리 구조를 이용하여 구성한다.



ViewGroup에서 파생된 하위 클래스들은 아래와 같이 크게 범주로 나뉜다.

레이아웃

FrameLayout

LinearLayout

TableLayout

RelativeLayout

AbsoluteLayout

컨테이너 위젯

• AdapterView 파생 컨테이너 : ListView, GridView, GalleryView

전환 위젯 : ViewFlipper, ImageSwitcher, TextSwitcher

위젯 : TabHost

대화상자(dialog)

스크롤 위젯 : ScrollView, HorizontalScrollView

서랍 위젯 : SlidingDrawer


 레이아웃
(Layout)

 

레이아웃(Layout) 각각의 뷰들을 화면상에 배치하고 구성해 주는 의미하며,

보통의 경우 XML파일을 이용하여 레이아웃을 구성한다.

 

보통 onCreate() 메서드에서 setContentView() 통해 레이아웃 리소스를 불러와 액티비티에 사용자 인터페이스 배치한다. 화면 위에 자식 컨트롤의 위치를 제어하기 위해 설계된 ViewGroup 클래스의 확장이다. 레이아웃은 포개질 있어서, 레이아웃 관리자를 조합해 임의의 복잡한 인터페이스를 만들 있도록 준다.

FrameLayout

단일 객체를 표현하기 위한 프레임의 역할을 하는 레이아웃이다. 이상의 객체를 표현 때는 나중에 그린 객체를 먼저 보여 준다.

LinearLayout

수평 또는 수직으로 구성 요소를 배치하기 위한 레이아웃으로, 창의 길이가 화면의 길이를 초과하면 자동으로 스크롤바를 생성한다.

TableLayout

행과 열을 가진 테이블 구조의 레이아웃으로, 행은 가장 구성 요소에 맞게 크기가 재설정되고 테두리는 감춰진다.

RelativeLayout

구성 요소를 기준으로 /// 방향으로 다른 구성 요소들을 배치할 있는 레이아웃으로, 상대적인 레이아웃이다.

AbsoluteLayout

절대적인 좌표값으로 객체의 위치를 지정하는 레이아웃이다.

모든 LayoutParams 서브 클래스는 값을 설정하는 각자의 방법을 가지고 있다.

하위 요소들은 부모의 속성에 맞는 LayoutParams 정의해야 한다.



신고

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

안드로이드 2.0 Service API 의 변화  (0) 2011.03.11
안드로이드 프로그래밍 추천 교재  (1) 2011.02.16
뷰 (View) & 레이아웃 (Layout)  (0) 2010.10.07
액티비티(Activity)  (0) 2010.10.07
android.Manifest.permission  (0) 2010.10.07
Android Manifest File  (2) 2010.10.07

댓글을 달아 주세요

블로그 이미지

하드락

I ♡ Android !!!

카테고리

분류 전체보기 (14)
안드로이드 (13)
Google Play (1)
안드로이드 팁 (0)
참고자료 (0)