3 - 레이아웃 실습

 

4 - 홈화면 레이아웃 실습

 

 

  • 비율코딩

Android 기기는 다양한 모양과 크기로 제공된다. 그렇기 때문에 앱의 레이아웃이 유연해야 한다. ConstraintLayout을 사용하면 다양한 화면 크기에 맞게 반응형 레이아웃을 만들 수 있다. 또, 뷰 구성요소의 너비와 높이를 지정하는 데에 wrap_content나 match_parent를 사용함으로써, 다양한 화면 크기와 여러 텍스트 길이에 맞게 조정할 수 있다.

  • Manifest 파일 4대 구성요소, intent-filter

activity : 실제로 만들 화면

  -> intent-filter : 컴포넌트가 어떤 기능을 할지 정의

receiver : 단말기에서 발생한 일들 중 알아야 할 상황을 알려준다

service : App이 UI 없이 background로 갔을 때 실행시킬 것들을 포함

provider : 다른 애플리케이션의 데이터를 받아오는 곳

  • drawable

- 어떻게 하면 뷰를 둥글게 만들 수 있을까?

  • id, layout_width, layout_height

id : 식별자 속성

layout_width, layout_height : 크기 지정

  -> match_parent : 부모의 크기에 맞춤

      wrap_content : 내 크기 그대로

      dp : 크기를 지정할 때의 단위로, device의 크기에 따라 상대적으로 크기를 바꾸어 보여주기 때문에 권장됨

  • ConstraintLayout

- constraint

레이아웃 안의 두 위젯 간의 관계를 정의하고 레이아웃 안에서 그 위젯들이 어떻게 위치할 지를 조절

- chainstyle

특수한 종류의 constraint로, chain안에 있는 뷰들끼리 공간을 공유하게 해주고, 뷰들에게 공간을 어떻게 사용하게 할지를 결정

  • ScrollView

수직(위아래)으로 스크롤할 수 있는 뷰. ScrollView는 영역이 너무 커서 한 화면에 다 보여주지 못할 때 사용.

한개의 ScrollView는 오직 한개의 뷰만을 가질 수 있다는 특징.

보통 LinearLayout View 를 포함 시키고 LinearLayout 의 자식으로 여러 View 들을 등록 하는 방식으로 많이 사용

  • ImageView 

- scaletype

ImageView가 어떤 크기로 출력될건지 지정
- src와 background의 차이

두 속성 모두 어떤 이미지를 ImageView에 보여주는 기능을 하지만, background의 경우 뷰 전체의 배경을 설정하는것으로 무조건 뷰를 꽉 채우게 되고, 이때 뷰에 padding이 걸려있어도 이를 무시하고 뷰 전체의 배경을 깔게 된다. 반면 src의 경우 background와 다르게 뷰에 컨텐츠를 넣어주는 개념이기 때문에, padding이 걸려있다면 패딩만큼 안으로 밀려서 이미지가 설정된다.

- 둥글게 만들어보기

 

  • margin과 padding의 차이

margin : 뷰와 뷰 사이의 간격

padding : 뷰 내부에서 뷰 내용과 뷰 테두리 간 간격

  • 6가지 레이아웃의 속성들

layout_weight : 뷰 그룹 내에 가중치를 얼마나 둘 것인지 결정

layout_gravity : 부모 레이아웃 내에서 뷰가 정렬되는 위치를 결정

gravity : 부모 레이아웃과 관계없이 뷰 위젯 내에 표시되는 내용이 정렬되는 위치를 결정

layout_width, layout_height : 너비, 높이 설정

layout_margin : 뷰 위젯과 상위 레이아웃 사이에 주어지는 공간 설정

layout_padding : 뷰 위젯의 실제 내용과 뷰 위젯 경계 사이의 추가적인 공간 설정

  • 바텀네비게이션뷰 

- 어떻게 만들어진건지 템플릿 코드 분석해보기

 

 

 



논의해보면 좋은 것들

  • Manifest 파일의 각종 요소(특히, 4대요소 그리고 인텐트 필터)에 대해서 알아보기 - 개발자 사이트
  • ConstraintLayout 외 다른 레이아웃에 대해서 알아보기
  • 위에 신경쓰이는 Appbar와 Statusbar를 지우는 방법 고민해보기
  • 팔레트창에서 자주 쓸 것 같은 요소들 사용해보기

 

 

 

 

[강의 출처 : 컴공선배]

'프론트엔드 > Android' 카테고리의 다른 글

안드로이드 6주차  (0) 2022.05.03
안드로이드 5주차  (0) 2022.05.03
안드로이드 4주차  (0) 2022.04.06
안드로이드 3주차  (0) 2022.04.06
안드로이드 2주차  (0) 2022.03.22
해안해