티스토리 뷰

공부/안드로이드

레이아웃 종류

cldy 2018. 11. 22. 19:24
android:text="시작"
app:layout_constraintStart_toStartOf="@+id/guideline"

android: <- 내장 

app: <- 외부 라이브러리, 직접 만든 속성


제약 레이아웃: 연결 선으로 만드는 것. 제약 조건으로 의해 뷰가 위치할 곳을 알 수 있음.

★리니어 레이아웃: 박스 모델 (창고에 모델을 쌓음) 방향을 지정할 수 있음. 어떻게 쌓을 것 인가.

★상대 레이아웃: 제약 레이아웃과 유사. 뷰들을 원하는 위치에 놓을 수 있음. 

★프레임 레이아웃: 하나의 뷰만 보여줌. 가장 위에 있는 뷰만 보임. (가장 위에 있는 뷰를 안 보이게 하거나), 뷰 전환하며 보여주는 방식.

테이블 레이아웃: 격자 모델


<리니어 레이아웃>

아래쪽으로 추가 할 건지 오른쪽으로 쌓을 건지?

레이아웃 안에 레이아웃 넣기 . (왼쪽엔 아래로 쌓고 오른쪽에는 오른쪽으로 쌓기 가능)

★방향을 지정해서 쌓음,

복잡한 형태의 뷰도 만들 수 있음.


<상대 레이아웃>

부모레이아웃의 위쪽으로 버튼을 붙일 건가?

제약 레이아웃이 더 기능이 많음. 근데 제약 레이아웃은 최근에 나와서 이전에 다른걸 더 많이 씀.

두가지 관계 사용

1. 뷰 / 위젯 <-> 부모 레이아웃의 관계 사용

2. 하나의 뷰 <-> 다른 뷰

- 하나의 버튼이 있으면 그걸 담고 있는 레이아웃이 '상대레이아웃'

android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"

alignParentStart: 왼쪽이나 마찬가지.

   Left: 부모 왼쪽에 붙여줘

   Top: 부모 위쪽에 붙여줘

android:layout_below="@+id/button4"

> layout_below: 위쪽 버튼의 아래쪽에 붙여줘. button4(첫번째 버튼 아이디)

android:layout_above="@+id/button6"

> layout_above: button6의 위쪽에 붙여줘.

<프레임 레이아웃>

한개의 뷰만 보여줌. 다른 것들은 깔려있게 됨. 감춰놨다가 필요할때 앞에 있던 거 숨겨버리면 화면 전환 효과 생김.

화면 전체가 될 수도 있고, 일부만 전환 가능.


<테이블 레이아웃>

격자 형태로 보여줌.

갤러리 사진 형식.

android:stretchColumns="0,1,2"

인덱스 0,1,2를 남아있는 공간 없이 꽉 차게 해달라. (인덱스는 세로로)

* 안드로이드에서 Gravity = 정렬로 해석

gravity : 테두리안의 내용물 위치

layout gravity : view의 위치






댓글