[Android Clone App] 당근마켓(#004) BottomNavigation + Toolbar

이동현·2020년 8월 31일
0

007 : 프로젝트 제작 재료 준비

예전에 Dimo 유튜브 채널에서 이런 뉘앙스의 말을 했던것을 기억했다.

프로젝트에서 코딩작업을 시작하기 전에 사용할 라이브러리 조사를 미리 해놓고, 충분히 자료 수집과 조사가 된 상태에서 코딩 작업을 시작하라.

이유인즉, 코딩 할 때는 오로지 코딩에만 집중할 수 있기 위해서라고 했다.

작업을 열심히 하고있는데 갑자기 이미지파일 다운받는다고 서핑하고.. 라이브러리 필요하다고 또 떠나버리고 그러면 코딩 효율이 많이 떨어진다는 이유에서다.

이번 프로젝트에서 필요한 리소스들을 준비 해놓겠다는 생각으로 진행했기 때문에 어제 (주말) 기분 전환(?)겸 준비를 해보았다.

  • 각종 이미지파일
  • 사용할 라이브러리
  • margin / padding / text size의 dimens 설정
  • color
  • font

근데 막상 작업한 결과를 보니 폰트가 이쁘지는 않네.. 조금 더 개발이 진행되고나면 폰트도 더 자연스러운걸로 바꿔봐야겠다.
이미지도 그렇게 자연스럽게 녹아들지가 않는다. 역시 디자이너가 필요한건가?

008 : BottomNavigation

당근마켓에서는 BottomNavigation을 통해 일차적으로 탭 전환을 하도록 설계 되어있다.
최대한 비슷하게끔 구현을 하도록 노력을 했고, 각 탭을 누를 때 마다 Fragment가 전환되도록 간단한 구현까지 해놓았다.

009 : Toolbar

Toolbar를 구현함에 있어, 어떤 방식으로 Toolbar를 Screen에 띄울까에 대한 부분의 고민을 상당히 많이 했다. 내 실력으로 제안할 수 있는 방법의 수는 2가지였다.

  1. Activity 내에서 Toolbar를 만들고,
    각 Fragment에서 Title, Image만 바꾸는 식으로 View를 재활용 하는 방법
  2. 각 Fragment마다 자신의 Toolbar를 각각 만드는 방법

재활용적인 측면을 생각해보고, xml 코드를 짧게 줄일 수 있는 방법으로는 1번이 좋아보였다.

하지만, 1번 방법을 사용하면 발생할 수 있는 문제들이 있었다.

  • xml 코드가 짧아지는 대신 fragment 영역에서의 코드가 조금 더 더러워 질 수 있겠다.
  • 후에 HomeFragment에서만 Collapsing Toolbar를 사용할 예정(다른 Fragment에서는 사용하지 않는다.)이기 때문에, Activity에서 처리하면 이러한 처리가 까다로워 질 수 도 있겠다는 생각.
  • 상품의 상세 화면을 볼 때, 새로운 Fragment가 Toolbar까지 덮어버려야 하는데, Activity단에 Toolbar가 존재한다면 새로운 Fragment가 그 Toolbar를 덮는 애니메이션이 자연스러울 것 같지 않다는 생각..? (말로 설명하니 어렵다..)

그래서 2번 방법을 택했다.

최종적으로는 아래의 결과물이 나왔다.

profile
영차영차

0개의 댓글