레이아웃의 종류
- 제약(Constraint) 레이아웃 : 제약 조건 기반, 연결선을 제약조건으로 한다. 안드로이드 스튜디오 디폴트 레이아웃
- 리니어(Linear) 레이아웃 : 한 쪽 방향으로 차례대로 뷰를 추가한다. 뷰가 차지하는 사각형 영역을 나타낸다. 리니어 레이아웃은 어느 쪽 방향으로 뷰를 추가할 지에 대한 orientation 속성이 필수이다.
- 상대(Relative) 레이아웃 : 제약 레이아웃을 사용하면서 권장하지 않는다. 부모 컨테이너 혹은 다른 뷰와의 상대적 위치로 화면을 구성한다.
- 프레임(Frame) 레이아웃 : 싱글 모델. 가장 상위에 있는 하나의 뷰 또는 뷰 그룹만 보여준다. 여러 개의 뷰가 들어가면 중첩하여 쌓이게 된다.
- 테이블(Table) 레이아웃 : 격자(Grid) 모델. HTML에서 사용하는 정렬 방식과 유사함. 많이 사용하지는 않는다.
추가로 스크롤뷰를 사용하면 뷰 내부의 뷰가 화면을 벗어나면 자동으로 스크롤을 생성하게 해준다. 스크롤뷰는 레이아웃이라기 보다는 뷰그룹의 역할이라고 볼 수 있다.
뷰 영역
뷰는 테두리(Border)를 갖는다. 이를 뷰의 영역(Box)라고 하는데, 뷰는 테두리를 기준으로 바깥쪽과 안 쪽 공간을 띄운다. 뷰는 보통 레이아웃에 의해 위치와 크기가 결정되지만 뷰 자체의 고유한 영역도 있다. 테두리 바깥쪽 공간을 마진(Margin)이라고 하며, 테두리 안쪽 공간을(Padding)이라고 한다. 예를 들자면
- 마진(Margin)의 예시 : 버튼과 버튼 사이의 공간
- 패딩(Padding)의 예시 : 버튼 내부의 글자를 써 넣었을 때, 글자와 버튼 사이의 공간
이라고 할 수 있다.
뷰에 배경 설정하기
XML 레이아웃에서 뷰에는 background라는 속성으로 배경을 설정할 수 있다. 여기에는 #ff0000(빨간색)과 같은 ARGB(Alpha, Red, Green, Blue)의 순서대로 색상의 값을 기록할 수 있다. 이 때 알파값을 지정해서 #88ff0000을 넣으면 반투명한 빨간색이 되고 #00ff0000을 넣으면 투명한 배경이 된다.
추가적으로 배경에는 이미지도 넣을수 있는데 res/drawble 폴더에 사용할 이미지를 넣는 것이 일반적이다. 이미지 파일의 이름은 반드시 영문자이면서 소문자여야 하고 '_'기호나 숫자를 사용할 수 있다.
'안드로이드 > 개념' 카테고리의 다른 글
[Android] 스크롤 뷰, Scroll View (0) | 2021.07.25 |
---|---|
[Android] 프레임 레이아웃, Frame Layout (0) | 2021.07.21 |
[Android] 테이블 레이아웃, Table Layout (0) | 2021.07.21 |
[Android] 상대 레이아웃, Relative Layout (0) | 2021.07.20 |
[Android] 리니어 레이아웃, Linear Layout (0) | 2021.07.19 |