1. ConstraintLayout
여러 제약 조건을 통해 레이아웃을 배치하는 방식. ViewGroup 유연한 방식으로 위젯을 배치하고 크기를 조정이 가능하다.
화면의 크기가 각기 다른 요즘 시대에 가장 많이 사용하고 있는 레이아웃 중 하나.
기능
- 상대적 포지셔닝
ex) button 의 layout_constraintLeft_toRightOF=”@+id/buttonA”
- 상대적 포지셔닝 제약
ex) layout_constraint방향(Left,Right, Top Bottom…)_to방향Of
- 상대 위치 지정 여백(margin)
ex)android:layout_margin방향 → 여백은 양수이거나 0일수만 있음
- 센터링 포지셔닝
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
제약조건이 균등하게 잡아당기는 것처럼 작용하여 중앙에 위치 가능, 수직도 똑같이 가능
- bias
app:layout_constraintHorizontal_bias="0.3"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
위의 얘시처럼 포지셔닝과 다르게 bias를 설정하여 왼쪽 오른쪽의 길이 조정 가능
- 원형 위치 지정
app:layout_constraintCircle="@+id/buttonA" // 다른 위젯 ID참조
app:layout_constraintCircleRadius="100dp"// 다른 위젯 중심까지의 거리
app:layout_constraintCircleAngle="45" // 위젯이 있어야하는 각도
- 가시성 동작
ex) View.GONE을 이용한 GONE은 일반적으로 위젯은 표시되지 않으며 레이아수 자체의 일부가 아님
- 위젯 치수 제약
특정 측정 기준을 사용이 가능함 ex) margin을 (n)dp이런식으로 / 최소,최대 크기 설정 가능 ex)minWidth ,maxHeight
- 체인
서로 양방향 연결을 통해 체인을 생성 가능
2. LinearLayout (horizontal) , LinearLayout (vertical)
단일 열에 수평으로 또는 수직으로 다른 보기를 정렬하는 레이아웃
간단한 페이지를 구성 할때 사용하는 것이 특징
수평방향은 horizontal, 수직방향은 vertical값으로 orientation을 설정합니다.
layout_gravity속성을 지정하여 좌, 우, 중간으로 정렬을 할 수 있습니다.
//사용예시
<0LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="1dp">
</LinearLayout>
- LinearLayout (Horizontal)
- LinearLayout (Vertical)
3. FrameLayout
프레임 레이아웃은 단일 항목을 표시하기 위해 화면의 영역을 차단하도록 설계되어있습니다.
상위의 뷰 또는 뷰 그룹의 하나만 보여주는 것으로 여러가지를 중첩하여 각 뷰를 전환하면서 보여주는 방식입니다.
- 예시
textView, ImageButton, Button을 세개를 순차적으로 올려놓았을때 중첩이 되어서 Button이 맨 앞으로 나와있고 그다음 ImageButton, textView가 순차적으로 겹쳐 있습니다.
4. TableLayout
자식을 행과 열로 정렬하여 표모양으로 보여주는 레이아웃
TableLayout은 TableRow(행의 갯수) 각각 행을 정의하는 여러 개체로 구성된다.
행, 열 또는 셀에 대한 경계선을 표시하지 않음
- 예시
5. TableRow
TableLayout의 하위뷰 ( 각 표에서 단일 행을 정의함)
각 행에는 0개 이상의 셀리 있으며 각 셀은 다른 View중 어떤 종류로든 정의할 수 있음
6.Space
공간만 차지하는 위젯으로 화면에 빈공간으로 원하는 곳에 표시가 된다.
'Android & Kotlin > Android' 카테고리의 다른 글
Android Palette Component 정리 4. Helpers, Google, Legacy (0) | 2022.11.22 |
---|---|
Android Palette Component 정리 4. Containers (0) | 2022.11.22 |
Android Palette Component 정리 2. Widgets (0) | 2022.11.21 |
Android Palette Component 정리 1. Text, Buttons (1) | 2022.11.20 |
Android Manifest 개념 확립(App Component : activity, service, broadcast receiver, content provider / Intent) (1) | 2022.11.20 |
댓글