레이아웃과 기본 위젯 사용하기
대표적인 레이아웃
레이아웃 이름 | 설명 |
---|---|
제약 레이아웃 (ConstraintLayout) |
제약 조건(Constraint) 기반 모델 제약 조건을 사용해 화면을 구성 안드로이드 스튜디오에서 자동으로 설정하는 디폴트 레이아웃 |
리니어 레이아웃 (LinearLayout) |
박스(Box)모델 한 쪽 방향으로 차례대로 뷰를 추가하여 화면을 구성하는 방법 뷰가 차지할 수 있는 사각형 영역을 할당 |
상대 레이아웃 (RelativeLayout) |
규칙(Rule)기반 모델 부모 컨테이너나 다른 뷰와의 상대적 위치로 화면을 구성하는 방법 |
프레임 레이아웃 (FrameLayout) |
싱글(Single) 모델 가장 상위에 있는 하나의 뷰 또는 뷰그룹만 보여주는 방법 여러 개의 뷰가 들어가면 중첩하여 쌓게 됨. 가장 단순하지만 여러개의 뷰를 중첩한 후 각 뷰를 전환하여 보여주는 방식으로 자주 사용 |
테이블 레이아웃 (TableLayout) |
격자(Grid) 모델 격자 모양의 배열을 사용하여 화면을 구성하는 방법 HTML에서 많이 사용하는 정렬 방식과 유사하나 많이 사용하지는 않음 |
리니어 레이아웃
- 세로방향 설정시 위쪽에서 아래쪽으로 쌓임
- 가로방향 설정시 왼쪽에서 오른쪽으로 쌓임
- 레이아웃 안에 레이아웃을 넣을 경우 복잡한 화면도 만들 수 있어서 많이 사용
상대 레이아웃
- 부모 레이아웃과의 상대적 위치나 같은 레이아웃 안에 들어있는 다른 뷰들과의 상대적 위치를 이용해 화면을 배치
프레임 레이아웃
테이블 레이아웃
- 그리드뷰라는 위젯이 거의 유사한 기능을 제공
스크롤 뷰
- 어떤 뷰의 내용물이 그 뷰가 차지하는 화면 영역을 벗어나는 경우 간단하게 스크롤을 만들어 준다
- 뷰를 배치하는 목적보다 단순히 뷰를 담고 있는 뷰그룹의 역할을 한다
뷰의 영역(box)
- 마진(Margin)
- 테두리 바깥쪽 공간
- 패딩(Padding)
- 테두리 안쪽 공간
- 테두리(Border)
본 문서는 Do it! 안드로이드 앱 프로그래밍을 보고 작성하였습니다.