본문 바로가기
Android & Kotlin/Android

Android Palette Component 정리 3. Layouts

by 말린밴댕이_공부 2022. 11. 22.
반응형

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

공간만 차지하는 위젯으로 화면에 빈공간으로 원하는 곳에 표시가 된다.

반응형

댓글