[Android/Custom] BottomNavigationView Icon 변경하기
Android/Custom

[Android/Custom] BottomNavigationView Icon 변경하기




0. checked 상태를 제어가능한 selector drawable을 사용한다.

in XML

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/example" android:state_checked="false"/>
    <item android:drawable="@drawable/example_fill" android:state_checked="true"/>
</selector>

 

1. BottomNavigationView가 사용중인 menu에 이를 등록한다.

in menu XML

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

<item
    android:id="@+id/item_example"
    android:icon="@drawable/example_selector"
    android:title="@string/item_example" />

</menu>

2. 기존에 등록한 혹은 Theme에 의해 구조적으로 포함되어 있는 Tint를 초기화 시켜준다

bottomNavigationView.itemIconTintList = null

Hot Ez Ex) 이를 설정하지 않으면 자신이 원하지 않는 Icon 형태로 표시될 가능성이 있다.

 

3. 텍스트 색상도 함께 변경하기 위해선 BottomNavigationView app:itemTextColor 속성을 이용한다

이 또한 selector drawable을 만들고, color를 checked 상태로 제어한다.

 

in XML

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="#ff4e00" android:state_checked="true"/>
    <item android:color="#a5a5b3" android:state_checked="false"/>
</selector>
<com.google.android.material.bottomnavigation.BottomNavigationView
	...
    app:itemTextColor="@drawable/selector_text_menu"
    app:labelVisibilityMode="labeled"
    .../>

#bottomnavigationview change icon selected itemd

in 

'Android > Custom' 카테고리의 다른 글

[Android/Custom] NavigationView Custom하기  (1) 2019.08.20
Android Bottom Navigation Custom하기  (0) 2019.08.20