05.09 일지
🎯 BottomNavigation 완성하기
Material Icon 사용하기
Android Studio를 이용해서 원하는 아이콘의 벡터이미지(SVG) 생성
Drawable >> New >> VectorAsset >> ClipArt
에서 검색해서 아이콘 찾기
ResourceManager로 만들 수도 있다.
ResourceManager
: resource들 검색, 관리가능
😀 ⇒ 앞서 xml파일 이름을 바꿀 때 연관된 다른 파일 정보들이 바뀌지 않아 리팩토링에 어려움을 겪었는데,
ResourceManager 검색기능을 활용하면 더 쉽게 다룰 수 있을 것 같다
NavigationView 현재 페이지의 탭 강조하기
: 현재 보여주고 있는 페이지의 탭은 색을 두껍게해서 강조하고 싶었다(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 테마를 사용함으로써 문제해결