Linear Layout
뷰를 linear하게 나열할 때 사용
속성 | 설명 | 예시 |
---|---|---|
orientation | 방향 설정 | vertical, horizontal |
layout_weight | 여백 채우기 설정 | |
gravity | 콘텐츠 정렬 설정 | top, bottom, left, right, center_vertical, fill_vertical, center_horizontal, fill_horizontal, center, fill, clip_vertical, clip_horizontal, start, end |
layout_gravity | 뷰 정렬 설정 | top, bottom, left, right, center_vertical, fill_vertical, center_horizontal, fill_horizontal, center, fill, clip_vertical, clip_horizontal, start, end |
RelativeLayout
뷰의 상대적 위치를 설정할 때 사용
속성 | 설명 | 예시 |
---|---|---|
layout_above | 해당 뷰의 위쪽에 설정 | @+id/text1 |
layout_below | 해당 뷰의 아래쪽에 설정 | @+id/text1 |
layout_toLeftOf | 해당 뷰의 왼쪽에 설정 | @+id/text1 |
layout_toRightOf | 해당 뷰의 오른쪽에 설정 | @+id/text1 |
layout_alignTop | 해당 뷰와 위쪽을 맞춤 | @+id/text1 |
layout_alignBottom | 해당 뷰와 아래쪽을 맞춤 | @+id/text1 |
layout_alignLeft | 해당 뷰와 왼쪽을 맞춤 | @+id/text1 |
layout_alignRight | 해당 뷰와 오른쪽을 맞춤 | @+id/text1 |
layout_alignBaseline | 해당 뷰와 기준선을 맞춤 | @+id/text1 |
layout_alignParentTop | 부모의 위쪽에 맞춤 | true, false |
layout_alignParentBottom | 부모의 아래쪽에 맞춤 | true, false |
layout_alignParentLeft | 부모의 왼쪽에 맞춤 | true, false |
layout_alignParentRight | 부모의 오른쪽에 맞춤 | true, false |
layout_centerVertical | 부모의 가로 중앙에 맞춤 | true, false |
layout_centerHorizontal | 부모의 세로 중앙에 맞춤 | true, false |
layout_centerInParent | 부모의 가로와 세로 중앙에 맞춤 | true, false |
FrameLayout
뷰를 겹쳐서 사용할 때 사용
주로 visibility 속성과 함께 사용
GridLayout
뷰를 grid 형식으로 나타낼 때 사용
비슷하게 TableLayout도 있지만 TableRow을 사용해야 하므로 불편할 수 있음
속성 | 설명 | 예시 |
---|---|---|
orientation | 방향 설정 | horizontal, vertical |
rowCount | 행 수 설정 | |
columnCount | 열 수 설정 | |
layout_row | 뷰가 위치하는 행 인덱스 설정 | |
layout_column | 뷰가 위치하는 열 인덱스 설정 | |
layout_gravity | 뷰 정렬 설정 | top, bottom, left, right, center_vertical, fill_vertical, center_horizontal, fill_horizontal, center, fill, clip_vertical, clip_horizontal, start, end |
layout_columnSpan | 열 병합 | |
layout_rowSpan | 행 병합 |
ConstraintLayout
constraint을 설정하여 배치
보통 레이아웃 편집기를 사용
build.gradle에 dependency 추가
dependencies {
...
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
}
출처: 강성윤, 「Do it! 깡샘의 안드로이드 앱 프로그래밍 with 코틀린」, 이지스퍼블리싱