본문 바로가기

[TIL][내일배움캠프]

[내일배움캠프][TIL] 24.02.26 (월) - 최종 프로젝트 2주차 : 개발 1일차

1. 최종 프로젝트 2주차

 

프로젝트 2주차부터는 본격적으로 개발에 들어가는 주차이다.

 

저번주의 역할분배에서, 나는 MountainDetailActivity와 MyInfoFragment를 완성시켜야 하는 막중한 임무를 맡았으므로, 인사할 시간도 없이 바로 진행해보자.

 

 

MountainDetailActivity & MyInfoFragment

 

내가 만들어야 할 화면은 크게 두 가지이다.

 

우선, MountainDetailActivity.

 

그리고 MyInfoFragment.

(참고로 MyInfoFragment는 이 다음 버전이 있는데 극악의 난이도여서 구현할 수 있을지 모르겠다)

 

 

git issue 관리

 

본격적인 개발에 앞서, 우리는 또 하나의 git 컨벤션 하나를 설정하였다.

그것은 바로 git issue 관리.

 

 

이런 식으로, 내가 뭘 할 것이며(Todo), 뭘 진행하고 있으며(In Progress), 뭘 완료했는지(Done) 한 눈에 파악할 수 있는 기능이다.

 

git issue를 작성하는 방법은 다음과 같다.

 

1. Todo 밑에 Add item을 클릭해서 제목을 적는다. (이 때, 제목은 [] 안에는 구현하는 종류, 그 뒤에는 자세한 내용을 적는다)

2. convert to issue를 클릭해서 현재 사용하고 있는 Repository(OFFROADER)를 클릭한다.

3. Start date, End date를 등록한다.

4. Priority를 클릭해서 '필수 구현'을 누른다.

 

이렇게 하면, pull request가 되면 Done으로 자동적으로 넘어가게 된다.

 

 

MountainDetailActivity 레이아웃 만들기

 

이 다음부터 본격적으로 개발에 착수했다.

 

MountainDetailActivity의 화면을 자세히 뜯어보면

(굉장히 짜치는 그림이다)

 

대충 요런 견적이 나오게 되는데 여기서 한 가지.

 

이번에 Coordinator Layout을 처음 사용하게 된다.

 

그렇기 때문에, 잠깐 Coordinator Layout을 배워보는 시간을 가졌다.

 

 

Coordinator Layout

 

Coodinator Layout은 레이아웃 안쪽에 있는 Child View의 정보를 전달받아서 다른 Child View에게 전달해 해당 동작을 수행하게 해주는 레이아웃으로, 보통 하단의 ScrollView를 쭈욱 내릴 때 상단의 ImageView를 없앰으로써 내용 확인을 더욱 수월케 하는 기능을 쓰고 싶을 때 사용한다.

 

출처 : https://hanyeop.tistory.com/265

 

이 Coordinator Layout을 사용할 때 들어가는 요소가 Appbar Layout, CollapsingToolbarLayout 인데 이건 또 무어냐?

 

 

 

 

뭐냐, 진짜?

 

좀 알려줘어어어어!

인터넷을 뒤져봐도 그냥 이렇게 썼다만 알려주지 정작 Appbar Layout, CollapsingToolbarLayout이 뭔지 알려주질 않는다.

 

어쩔 수 없지.

이럴 때를 위해서 ChatGPT가 있으니까 얘를 한 번 사용해보자.

 

 

ChatGPT에게 Coordinator Layout에 대해 물어보니 다음과 같은 대답이 나왔다.

 

  1. CoordinatorLayout:
    • 안드로이드 디자인 라이브러리에서 제공하는 최상위 레이아웃 중 하나입니다.
    • CoordinatorLayout은 자식 뷰들 사이의 상호작용을 조정하는 데 사용됩니다.
    • 여러 자식 뷰들 간의 상호작용을 효과적으로 관리하고 스크롤 이벤트에 반응하여 애니메이션을 적용할 수 있습니다.
  2. AppBarLayout:
    • CoordinatorLayout 내에서 주로 사용되는 뷰 그룹입니다.
    • Toolbar, CollapsingToolbarLayout 등과 함께 사용하여 툴바를 포함하는 UI를 만들 때 유용합니다.
    • 스크롤 이벤트에 따라 툴바를 확장하거나 축소하는 등의 동작을 구현할 수 있습니다.
  3. CollapsingToolbarLayout:
    • AppBarLayout 내에서 사용되는 커스텀 레이아웃입니다.
    • 툴바의 확장 및 축소를 담당하며, 스크롤에 반응하여 툴바의 모양을 변화시킬 수 있습니다.
    • 특히 이미지와 함께 사용되어 이미지를 확장하거나 축소하는 효과적인 UI를 구현할 수 있습니다.

흐음.

막상 이렇게 글로만 보니까 딱히 뭐가 와닿지 않는다.

 

 

내일은 본격적으로 어떻게 해야 Coordinator Layout을 사용할 수 있는지 한 번 알아보겠다.