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
  • 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