250x250
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 프로그래머스 알고리즘
- 막내의막무가내
- 막내의막무가내 알고리즘
- 부스트코스
- 주택가 잠실새내
- 막내의막무가내 SQL
- 막내의막무가내 플러터 flutter
- 안드로이드
- 2022년 6월 일상
- flutter network call
- 막내의 막무가내
- 프래그먼트
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 안드로이드 에러 해결
- 막내의막무가내 rxjava
- 막내의막무가내 안드로이드 코틀린
- 막내의막무가내 프로그래밍
- 주엽역 생활맥주
- 안드로이드 sunflower
- 막무가내
- 부스트코스에이스
- 막내의막무가내 안드로이드
- 막내의 막무가내 알고리즘
- 막내의막무가내 목표 및 회고
- 막내의막무가내 플러터
- Fragment
- 막내의막무가내 일상
- 막내의막무가내 코틀린 안드로이드
- 막내의막무가내 코틀린
- 안드로이드 Sunflower 스터디
Archives
- Today
- Total
막내의 막무가내 프로그래밍 & 일상
[안드로이드] 안드로이드 BottomNavigationView icon 설정 해결 본문
728x90
[2021-04-13 업데이트]
Jetpack 의 바텀 네비게이션 뷰를 쓰면서 내가 눌렀을 때와 안눌렀을 떄 selector로 설정한 대로 아이콘이 안나왔었습니다. (바텀 네비게이션에서 기본으로된 색상 설정등 이 우선시 되었기 때문입니다.)
[menu]
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/bottom_nav_1"
android:icon="@drawable/ic_nav1_selector"
android:title="@string/bottom_navi_test1" />
<item
android:id="@+id/bottom_nav_2"
android:icon="@drawable/ic_nav2_selector"
android:title="@string/bottom_navi_text2" />
<item
android:id="@+id/bottom_nav_3"
android:icon="@drawable/ic_nav3_selector"
android:title="@string/bottom_navi_text3" />
<item
android:id="@+id/bottom_nav_4"
android:icon="@drawable/ic_nav4_selector"
android:title="@string/bottom_navi_text4" />
</menu>
[selector]
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/nav_home_off" android:state_checked="false" />
<item android:drawable="@drawable/nav_home_on" android:state_checked="true" />
</selector>
[bottom navi view]
app:labelVisibilityMode="unlabeled" (bottom naviagation view 에서 title로 지정한 텍스트가 안보이게함(전 뷰에 글자가 달려있었기 때문에 이것을 활성화 시켰습니다.)
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/main_bottom_navigation"
android:layout_width="match_parent"
android:layout_height="54dp"
android:background="@color/colorWhite"
android:paddingStart="30dp"
android:paddingLeft="30dp"
android:paddingEnd="42dp"
android:paddingRight="42dp"
app:itemIconSize="48dp"
app:labelVisibilityMode="unlabeled"
app:layout_behavior="tech.thdev.app.view.BottomNavigationBehavior"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/main_fl_container"
app:menu="@menu/bottom_menu" />
결론 부터 말하면
binding.mainBottomNavigation.itemIconTintList = null 를 해주면 된다.
private fun initNavigation() {
val navController = findNavController(R.id.main_nav_host)
binding.mainBottomNavigation.setupWithNavController(navController)
binding.mainBottomNavigation.itemIconTintList = null
}
그럼 제가 설정한 대로 아이콘 대로 잘 동작하게 됩니다. (홈 누른 경우 아이콘 바뀜)
[결과]
[2020-12-11 댓글 답변]
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".views.MainActivity">
<androidx.fragment.app.FragmentContainerView
android:id="@+id/main_fcv_container"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@id/main_bottom_navigation"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintEnd_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<fragment
android:id="@+id/main_nav_host"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:navGraph="@navigation/nav_graph" />
</androidx.fragment.app.FragmentContainerView>
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/main_bottom_navigation"
android:layout_width="match_parent"
android:layout_height="54dp"
android:background="@color/colorWhiteFDFD"
android:paddingStart="18dp"
android:paddingLeft="18dp"
android:paddingEnd="18dp"
android:paddingRight="18dp"
app:itemIconSize="48dp"
app:labelVisibilityMode="unlabeled"
app:layout_behavior="tech.thdev.app.view.BottomNavigationBehavior"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/main_fcv_container"
app:menu="@menu/bottom_menu" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
댓글과 공감은 큰 힘이 됩니다. 감사합니다. !!!
728x90
'안드로이드 > 코틀린 & 아키텍처 & Recent' 카테고리의 다른 글
Comments