관리 메뉴

드럼치는 프로그래머

[안드로이드] Align & Layout & Scroll View / 정렬 & 레이아웃 & 스크롤 뷰 본문

★─Programing/☆─Android

[안드로이드] Align & Layout & Scroll View / 정렬 & 레이아웃 & 스크롤 뷰

드럼치는한동이 2012. 3. 2. 14:44
* 정렬
 - layout_gravity : 전체화면에서의 정렬(부모 컨테이너에서의 정렬)
 - gravity : 뷰에서의 정렬
  > 버튼이나 TextView의 크기가 wrap_content로 지정되 있으면, 그 자체로 꽉차 있기 때문에 gravity에 대한
     정렬은 되지않는다. 또한 크기가 match_parent나 fill_parent로 되어있다면, layout_gravity에 의한 정렬은 
     되지 않는다. 차이점을 기억하자!!
 - baselineAligned(베이스 정렬) : 텍스트에서 아랫줄을 통일 시켜준다.
 - layout_weight(차일드 영역 분할) : 공간에 가중치를 주어서 분할한다.
 
* LinearLayout 리니어 레이아웃 : 차례대로 가로나 세로방향으로 순서대로 출력해준다.
 - orientation(방향) : 수평으로 쌓을지 수직으로 쌓을지 정한다.
  > horizontal과 vertical이 존재하며, default로 vertical로 설정 된다.
 
* RelativeLayout 상대 레이아웃 : 한 대상(id 값에 구분)에 대해 상대적 위치에 배치를 실시한다.
 - android:속성="ID or T/F"
  > 속성값
   - 부모 컨테이너에대해 상대적으로 배치하는 속성 ( T/F로 관리 ) 
    > layout_alignParentTop : 부모의 윗변에 맞춘다.
    > layout_alignParentBottom : 부모의 아랫변에 맞춘다.
    > layout_alignParentLeft : 부모의 좌측변에 맞춘다.
    > layout_alignParentRight : 부모의 우측변에 맞춘다.
    > layout_centerHorizontal : 부모의 수평선상의 중앙에 맞춘다.
    > layout_centerVertical : 부모의 수직선상의 중앙에 맞춘다.
    > layout_centerInParent  : 부모의 중앙에 맞춘다.
   - 뷰간의 상대적으로 배치하는 속성 ( id값으로 관리 )
    > layout_above : 대상의 위에 배치한다. 
    > layout_below : 대상의 아래에 배치한다.
    > layout_toLeftOf : 대상의 왼쪽에 배치한다.
    > layout_toRightOf : 대상의 오른쪽에 배치한다.
    > layout_alignTop : 대상과 위쪽라인을 맞춘다.
    > layout_alignBottom : 대상과 아래쪽 변을 맞춘다.
    > layout_alignLeft : 대상과 왼쪽변을 맞춘다.
    > layout_alignRight : 대상과 오른쪽변을 맞춘다.
    > layout_alignBaseLine : 대상과 내용의 BaseLine을 맞춘다.


상대적 레이아웃이 쓰인 일부분 / 각각의 속성은 직관적으로 판단이 가능하다.

* TableLayout 표형식 레이아웃 
  - TableRow 테그안에 View를 넣는다. 각각의 View는 하나의 열로써 작용을 한다.

이외에 FrameLayout, AbsoluteLayout이 존재하지만 사용하지 않거나 사용할때 찾아서 해도 늦지 않으므로 생략!

※ 위의 RelativeLayout의 예제에서 봤듯이 여러개의 레이아웃을 중첩하여 원하는 배치를 만들어 낼 수 있다. 
 
* Scroll View
: 스크롤 기능을 첨가해준다.
 - ScrollView(수직방향), HorizontalScrollView(수평방향)이 존재하며, 스크롤을 적용하기 위해서는
   스크롤 뷰테그안에 다른 뷰를 선언해준다.
  ex)
   <HorizontalScrollView 
        android:layout_width="wrap_content"
        android:layout_height="200dp"
        android:layout_marginTop="10dp"
        >
        <ScrollView 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            >
            <ImageView 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
android:id="@+id/onbtn"
android:src="@drawable/img1"
                />
        </ScrollView>
    </HorizontalScrollView> 



[출처] http://destiny738.tistory.com/251
Comments