| 레이아웃 이름 | 설명 |
|---|---|
| 제약 레이아웃(ConstraintLayout) | 제약조건(constraint)기반 모델 , 제약 조건을 사용해 화면을 구성하는 방법 , 안드로이드 스튜디오에서 자동으로 설정하는 디폴트 레이아웃 |
| 리니어 레이아웃(LinearLayout) | 박스(Box)모델 , 한 쪽 방향으로 차례대로 뷰를 추가하여 화면을 구성하는 방법 , 뷰가 차지할 수 있는 사각형 영역을 할당 |
| 상대 레이아웃(RelativeLayout) | 규칙(Rule)기반 모델 , 부모 컨테이너나 다른 뷰와의 상대적 위치로 화면을 구성하는 방법 , 제약 레이아웃을 사용하게 되면서 상대 레이아웃은 권장하지 않음 |
| 프레임 레이아웃(FrameLayout) | 싱글(Single)모델 , 가장 상위에 있는 하나의 뷰 또는 뷰 그룹만 보여주는 방법, 여러 개의 뷰가 들어가면 중첩하여 쌓게 됨. 가장 단순하지만 여러개의 뷰를 중첩한 후 뷰를 전환하여 보여주는 방식으로 자주 사용 |
| 테이블 레이아웃(TableLayout) | 격자(Grid)모델 , 격자 모양의 배열을 사용하여 화면을 구성하는 방법 , HTML에서 많이 사용하는 정렬 방식과 유사하지만 많이 사용 X |
리니어 레이아웃 사용 방식🙋🏻♂️

상대 레이아웃 사용 방식🙋🏻♂️



지금까지 공부한 레이아웃은 모두 뷰이다. 따라서 뷰의 필수 속성인 layout_width, layout_height를 꼭 입력해야 한다.
리니어 레이아웃은 한 쪽 방향으로만 뷰가 쌓이므로 방향 속성인 orientation 속성이 필수 속성이다.
-> ⚠ 속성을 추가하지 않으면 오류가 발생한다.
뷰가 레이아웃에 추가될 때는 보이지 않는 뷰의
테두리(Border , 또는 경계선)가 있다는 것을 생각해야 한다.-> 이것을 흔히
뷰의 영역(Box)라고 하는데 뷰는 테두리를 기준으로 바깥쪽과 안쪽 공간을 띄운다.

마진(Margin), 안쪽을 패딩(Padding) 이라 함.버튼과 버튼 사이를 더 떨어뜨리려면 마진 값을 크게 ,
테두리 선과 글자 사이의 공간을 더 떨어뜨리려면 패딩 값을 크게
XML 레이아웃에서 색상을 지정할 때 ,
#기호를 앞에 붙인후 ARGB(A: Alpha , R: Red , G: Green, B: Blue)의 순서대로 색상의 값을 기록
#ff0000 : 빨간색
#00ff00 : 녹색
#0000ff : 파란색
✔ 알파값으로 ff를 추가하여 #ffff0000으로 지정하면 그대로
✔ 88을 추가하여 #88ff0000으로 지정하면 반투명하게 표현됨.
✔ #00ff0000이 되면 투명해지므로 아무것도 보이지 않게 된다.
