Android layout 기초 (2)
2023. 1. 2. 23:48ㆍ교내활동/Programming GURU2
반응형
Layout 종류
- LinearLayout
- 위젯을 가로 또는 세로 한줄로 배치하기 위한 레이아웃
- orientation의 horizontal, vertical 중 하나로 설정해주면 기존에 배치되어있던 위젯들도 방향을 바꿀 수 있음
- androidx.constraintlayout.widget.ConstraintLayout을 LinearLayout으로 변경하여 사용
- 한 화면에서 위젯을 수평, 수직 모두 이용해 매치하는 경우
- 바깥의 큰 LinearLayout 안에 작은 LinearLayout을 여러개 넣어서 사용해야 함
- 주요 속성
- orientation: 레이아웃 안에 배치할 위젯을 수직으로 할지, 수평으로 할지 설정함
- 옵션: vertical, horizontal
- gravity: 레이아웃 안에 배치할 위젯의 정렬 방향을 좌, 우, 중앙 등으로 설정 -> 레이아웃에 속성이 적용됨
- 옵션: left, right, bottom, top, center, center_horizontal, center_vertical
- 2개씩 조합도 가능함
- defalt: left | top
- layout_gravity: 자신의 위치를 부모의 어디에 위치시킬지 결정 -> 위젯에 속성이 적용됨
- 옵션: gravity와 동일
- margin: 뷰와 부모 뷰 사이의 공간
- layout_margin: 4면 모두 동일한 여백 지정
- 옵션: layout_marginLeft, layout_marginRight, layout_marginTop, layout_marginBottom -> 4면의 개별 여백 지정 가능
- padding: 레이아웃 안에 배치할 위젯의 여백 설정
- 뷰와 뷰의 내용물 사이의 공간
- padding: 4면 모두 동일한 여백 지정
- 옵션: paddingLeft, paddingTop, paddingRight, paddingBottom -> 4면의 개별 여백으로 지정 가능
- layout_weight: 레이아웃이 전체 화면에서 차지하는 공간의 가중값을 설정, 여러개의 레이아웃이 중복될 때 주로 사용함
- 중복 linear layout에서 사용됨
- linear layout을 사용하는 경우 각 layout의 크기를 지정해야 함
- layout을 화면 전체에 채워줘야 하기 때문에 주로 전체 화면에 대한 비율로 지정함
- 비율에 따라 부모 레이아웃의 남은 영역을 차지하는 비율이 결정됨
- baselineAligned: 레이아웃 안에 배치할 위젯을 보기 좋게 정렬
- 옵션: true, false
- default: true
- orientation: 레이아웃 안에 배치할 위젯을 수직으로 할지, 수평으로 할지 설정함
- RelativeLayout
- 위젯과 부모와의 위치관계 또는 위젯끼리의 관계를 지정함으로써 뷰를 배치함
- 부모 뷰를 기준으로 위치 지정
- 속성: layout_alignParentLeft, layout_centerHorizontal, layout_alignParentRight, layout_alignParentTop, layout_centerVertical, layout_alignParentBottom, layout_centerlnParent
- relative layout 안에서 다른 위젯의 특정한 곳에 배치하는 방법도 존재함
- 해당 방식을 이용하기 위해서는 다른 위젯의 id를 지정해야 함
- 속성: toLeftOf-alignTop/alignBaseline/alignBottom, above-alignLeft/alignLeft, toRightOf-alignTop/alignBaseline/alignBottom, below-alignLeft/alignRight
반응형
'교내활동 > Programming GURU2' 카테고리의 다른 글
Android Widget 기초 (1) (0) | 2023.01.04 |
---|---|
Android layout 기초 (3) (0) | 2023.01.02 |
Android layout 기초 (1) (0) | 2023.01.02 |
Kotlin 기초 (4) (0) | 2023.01.01 |
Kotlin 기초 (3) (0) | 2023.01.01 |