본문으로 건너뛰기

05.09 일지

🎯 BottomNavigation 완성하기


Material Icon 사용하기

Android Studio를 이용해서 원하는 아이콘의 벡터이미지(SVG) 생성
Drawable >> New >> VectorAsset >> ClipArt에서 검색해서 아이콘 찾기
ResourceManager로 만들 수도 있다.

ResourceManager: resource들 검색, 관리가능
😀 ⇒ 앞서 xml파일 이름을 바꿀 때 연관된 다른 파일 정보들이 바뀌지 않아 리팩토링에 어려움을 겪었는데,
ResourceManager 검색기능을 활용하면 더 쉽게 다룰 수 있을 것 같다


: 현재 보여주고 있는 페이지의 탭은 색을 두껍게해서 강조하고 싶었다(ON - 검정색, OFF - 회색)

NavigatorView에서 동적으로 처리불가능 ⇒ selector 이용

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/black" android:state_checked="true" />
<item android:color="@color/selected_icon" />
</selector>

selector의 맥락

in Activity.xml
: Activity의 레이아웃을 정의
⇒ BottomNavigationView 정의, 스타일은?

in res/values/styles.xml
: 프로젝트에서 사용할 네임드 컴포넌트의 스타일 정의
⇒ BottomNavigationViewStyle 부분에서 itemIconTint가 selector에 의해 정의된다고 명시

in res/animator/selector.xml
⇒ selector 정의
위의 코드를 보면 알 수 있듯 state값을 보고 color를 각기 다르게 정의

in res/values.colors.xml
⇒ 리소스에 저장된 color를 불러와서 사용



OnTouchListener

: GDSC 스크럼 도중 추천받았다
😀 xml단이 아닌 kotlin 코드 단에서 터치 이벤트를 처리하는 방법이라고 한다


🎯 상단 AppBar 없애기

: AppBar가 필요가 없는데 자동으로 구현되어 상단 공간을 차지하고 있다..


layout inspector 이용

→ 어디서 AppBar가 만들어진 건지 문제지점을 찾아서 확인하고자..
발견되지 않았다...!


theme.xml이 범인

theme: 앱 전반적으로 사용할 테마(color, font 등)
→ 스타일태그를 사용해서 다른 곳에서 쓰도록...

AndroidManifest.xml 파일에서 Activity를 정의할 때 테마를 명시해줄 수 있다.

⇒ AppBar가 없이 정의된 다른 테마인 NoAppBar 테마를 사용함으로써 문제해결