<Layout>
제약 레이아웃(ConstraintLayout)
- 디폴트 레이아웃
리니어 레이아웃(LinearLayout)
- 한 쪽 방향으로 차례대로 뷰를 추가하며 화면을 구성하는 방법
- 가로 방향(Horizontal), 세로 방향(Vertical)
- orientation 속성 필수
상대 레이아웃(RelativeLayout)
- 부모 레이아웃과의 상대적 위치 또는 같은 레이아웃 안에 들어 있는 다른 뷰와의 상대적 위치를 이용해 화면을 배치하는 레이아웃
프레임 레이아웃(FrameLayout)
- 가장 상위에 있는 하나의 뷰 또는 뷰그룹만 보여주는 방법
- 여러 개의 뷰가 들어가면 중첩하여 쌓게 됨, 여러 개의 뷰를 중첩한 후 각 뷰를 전환하여 보여주는 방식으로 자주 사용
테이블 레이아웃(TableLayout)
- 격자 모양의 배열을 사용하여 화면을 구성하는 방법

뷰의 배경 색 지정하는 속성 : background (#ff0000 빨 , #00ff00 녹색, #0000ff 파랑) , 반투명하게 표현 ex) #88ff0000
...
//new 연산자로 리니어 레이아웃을 만들고 방향설정
LinearLayout mainLayout = new LinearLayout(this);
mainLayout.setOrientation(LinearLayout.VERTICAL);
...
자바 소스 코드에서 뷰를 만들어 뷰그룹에 추가할 때 뷰 배치를 위한 속성을 설정할 수 있는 LayoutParams 객체 사용, 이 객체는 레이아웃에 추가되는 뷰의 속성 중에서 레이아웃과 관련된 속성을 담고 있음(뷰의 가로와 세로 속성 지정)
뷰 정렬 시 gravity라는 속성 이름 사용
- layout_gravity : 뷰가 어디에 위치할 것인지 결정
- gravity : 뷰의 내용물의 위치를 결정
baselindAligned : 각각의 뷰에 들어 있는 텍스트의 아래쪽 바닥면을 똑같이 맞추기 위한 속성(true로 설정시)
여유 공간을 분할하는 속성 : layout_weight
- layout_width나 layout_height로 지정하는 뷰의 크기는 wrap_content나 숫자 값으로 지정되어야 함
※공간 분할 목적으로 사용할 때는 분할하려는 방향에 따라 layout_width나 layout_height의 값을 0dp로 만들어야 함
relativeLayout에서 layout_above/below 속성을 이용하면 ex)두번째버튼 의 바로 윗부분/아랫부분까지만 공간 차지함
상대 레이아웃에서 부모 컨테이너와의 상대적 위치를 이용해 뷰를 배치할 수 있는 속성 -> layout_alignParent~
다른 뷰와의 상대적 위치를 이용해 뷰를 배치할 수 있는 속성-> layout_align~
tablelayout안에 포함된 TableRow의 높이값은 내부적으로 항상 wrap_content, 폭은 항상 match_parent
테이블 모양으로 레이아웃을 만들 때, 오른쪽에 남는 공간이 없도록 만들고 싶으면 stretchColumns 속성 추가
▶ScrollView - 기본적으로 수직 방향의 스크롤 지원
수평 방향의 스크롤 사용 -> HorizontalScrollView
도전! 03
도전! 04
'Android Studio' 카테고리의 다른 글
Do it 안드로이드 앱 프로그래밍 - 둘째마당(3장) 기본 위젯과 드로어블 사용하기 (0) | 2021.08.27 |
---|---|
Do it 안드로이드 앱 프로그래밍 - 둘째마당(1장) (0) | 2021.08.25 |
Do it 안드로이드 앱 프로그래밍 - 첫째마당 (0) | 2021.07.12 |
Do it 안드로이드 앱 프로그래밍 - 3) 이벤트와 리스트뷰 (0) | 2021.03.06 |
Do it 안드로이드 앱 프로그래밍 - 2) 레이아웃 (0) | 2021.03.04 |