1. LinearLayout은 수직(vertical)방향과 수평(horizontal)방향으로 뷰 객체들을 나열하는 레이아웃이다.
    android:orientation="vertical android:orientation="horizontal
     

     

     
    여기서 중요한것은 한 방향으로 계속 객체들을 추가하여 화면을 벗어나게 될 경우 자동으로 다음줄에 나온다거나 하지않고 그저 화면밖에 그려지기 때문에 실행 했을 때 역시 화면에 나오지 않게된다. 
     
  2. 위에서 뷰 객체를 버튼을 사용하였는데 객체마다 가지고있는 속성에대해서도 간단히 알아보자.
    <TextView android:text="딸기맛" 
    android:textSize="20pt" android:textStyle="bold"
    android:textColor="#ff0000" android:background="#ffffff"
    android:id="@+id/textView1" android:layout_width="fill_parent" 
    android:layout_height="wrap_content"></TextView>

    위에서 중요것은 android:layout_width="fill_parent"로 상위 View의 크기에 맞게 자신의 크기를 설정한다는것이다. 보통은 자신이 가지고있는 내용물의 크기아 맞게 크기를 설정하는 wrap_content를 사용한다.


  3. 다음으로 알아 볼 것은 레이아웃 내부의 객체들의 정렬위치를 설정할 수 있는 Gravity이다. 리니어 레이아웃의 Default값은 "left|top"으로 좌측 상단부터 정렬된다. Gravity로 지정할 수 있는 방향은 다음과 같다.
     top  컨테이너 위에 위치
     bottom  컨테이너 아래 위치
     left  컨테이너 왼쪽에 위치
     right  컨터이너 오른쪽에 위치
     center_vertical  컨테이너의 수직방향의 중앙에 위치
     center_horizontal  컨테이너의 수평방향의 중앙에 위치
     fill_vertical  수직방향을 컨테이너의 사이즈로 확대하여 배열
     fill_horizontal  수평방향을 컨테이너의 사이즈로 확대하여 배열
     center  컨테이너의 수평/수직방향의 중앙에 위치
     fill  수평/수직 모두 컨테이너의 사이즈에 확대하여 위치
    예를들어 레이아웃내에서 가운데 정렬되는 TextView를 하나 선언 해 보면 아래와 같다.

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        android:gravity="center"
        android:orientation="vertical">
        <TextView android:text="가운데 정렬" 
        android:id="@+id/textView1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"></TextView>
    </LinearLayout>



'Programming > ANDROID' 카테고리의 다른 글

ViewGroup - TableLayout  (1) 2011.03.29
ViewGroup - FrameLayout  (1) 2011.03.28
뷰 그룹(View Group) - Layout  (1) 2011.03.28
안드로이드 한글 키보드 설정  (4) 2011.03.27
안드로이드 레이아웃-XML (Layout-XML)  (1) 2011.03.24

  1. View group은 View들을 담을수 있는 컨테이너 역할을 한다고 앞서 설명했다. View클래스로부터 파생된 ViewGroup의 서브클래스들은 다음과 같다.

  2. 위의 다양한 View들 중에서 자주 사용하여 앞으로 실습까지 해 볼 것들을 미리 간단히 정리해보자.
    • LinearLayout : 수직(vertical)방향이나 수평(horizontal)방향으로 객체들을 배치하는 가장 기본적인 레이아웃이다.
    • FrameLayout : 왼쪽 상단을 기준으로 각각 객체들을 겹치게 표현한다. 이것을 이용 해 카드게임과 같이 맨 위의 카드와 아래의 카드를 순서대로 볼 수 있게 설정할 수 있다.
    • TableLayout : 행과 열을 가지는 표 형태의 레이아웃으로 가장 큰 요소의 크기로 셀을 설정하며 셀 테두리는 보이지 않는다.
    • AbsoluteLayout : 뷰 객체의 위치를 좌표형식으로 설정하는 방식으로 실무에서는 거의 사용되지않는다.
    • RelativeLayout : 뷰 객체들간의 상대적인 위치를 지정하는 레이아웃으로 1번의 왼쪽 2번의 아래쪽 이런 방식으로 상대적인 위치를 설정하게된다.
    • Gallery : 스마트폰의 사진 스크롤화면처럼 이미지들을 터치로 끌어서 볼수있도록 해준다.
    • GridVIew : 격자 모양으로 보여주는 클래스.
    • ListView : 스크롤되는 하나의 컬럼 리스트를 보여주는 클래스
    • ScrollView : 수직으로 구성요소의 열을 스크롤링하게 하는 클래스
    • Spinner : 콤보박스 역할을 하는 클래스
    • SurfaceView : Low level 그리기를 지원하는 클래스 (쓰레드를 이용한다)
       
  3. 자 그럼 이제 가장 기본적인 LinearLayout부터 알아보도록하자!

  4.  

+ Recent posts