개발/Android

[Android Studio] Layout 종류

Hyunsun 2021. 11. 16. 12:55
728x90

리니어 레이아웃 (Linear Layout)

가로 또는 세로 방향으로 순차적으로 나열

 

orientation

orientation 속성이 horizontal이면 가로로 나열, vertical이면 세로로 나열된다.

 

gravity

자신에게 포함된 자식(주로 위젯)을 어디에 위치시킬지를 결정

gravity는 레이아웃에 주로 지정함

 

layout_gravity

자신의 위치를 부모(주로 레이아웃)의 어디에 위치시킬지를 결정

layout_gravity는 위젯에 주로 지정함

 

 

테이블 레이아웃 (Table Layout)

위젯을 표 형태로 배치할 때 주로 활용

layout_span

열을 합쳐서 표시

layout_span="2"는 현재 셀부터 2개의 셀을 합쳐서 표시

 

layout_column

지정된 열에 현재 위젯을 표시

 

stretchColumns

<TableLayout> 자체에 설정하는 속성

stretchColumns="*"는 각 셀를 모두 같은 크기로 확장하여 전체 화면이 꽉 차게 함

 

 

그리드 레이아웃 (Grid Layout)

테이블레이아웃과 비슷, 행 확장 가능

rowCount: 행의 수

columnCount: 열의 수

orientation: 수평, 수직

 

layout_row: 행 번호(0번부터 시작)

layout_column: 열 번호(0번부터 시작)

layout_rowSpan: 행 확장

layout_columnSpan: 열 확장

 

 

프레임 레이아웃 (Frame Layout)

여러 개의 위젯을 중첩으로 배치할 때 사용

 

 

제약 레이아웃 (Constraint Layout)

상하좌우에 필요한 제약을 추가하여 원하는 위치에 배치

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"/>

​layout_constraintBottom_toBottomOf="parent"

위젯의 하단(Bottom)을 부모(parent)의 하단(Bottom)에 맞춤

 

layout_constraintEnd_toEndOf="parent"

위젯의 오른쪽(end)을 부모(parent)의 오른쪽(end)에 맞춤

 

상단: top

하단: bottom

왼쪽: start

오른쪽: end

728x90