* 정렬
- 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
- 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>