Android
[Kotlin/Android] BottomNavigation 설정/ 눌렀을 때 아이콘 색상 변경
연나연
2024. 8. 22. 16:38
이번 글에서 하고자 하는 것은 :::::::::::::
bottomNavigation에서 아이콘을 클릭했을 떄 사진1처럼 보라색 동그라미 말고,
사진2처럼 아이콘과 글씨의 색이 변하게 하는 것


가봅시다
1. 클릭시 색상을 변경하기 위한 drawable 추가<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="#555B5F" android:state_checked="false"/> <item android:color="#0084ED" android:state_checked="true"/> </selector>2. bottomNavigation 이 있는 xml 파일로 가서 속성 설정
bottomNavigation의 배경색
app:itemBackground="@color/white"
bottomNavigation의 아이콘 아래 글자 보이게
app:labelVisibilityMode="labeled"
bottomNavigation의 아이콘 클릭했을때 색상 설정
app:itemIconTint="@drawable/bottomnavi_click_color"
bottomNavigation의 아이콘 아래 글자 색상설정
app:itemTextColor="@drawable/bottomnavi_click_color"
전체코드는 아래와 같음
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout 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" android:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" tools:transitionGroup="true"> <androidx.fragment.app.FragmentContainerView android:id="@+id/main_container" android:name="com.psg.smartflowoperation.ui.Map.MapMainFragment" android:layout_width="0dp" android:layout_height="0dp" app:layout_constraintBottom_toTopOf="@+id/main_bottomNavigation" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <com.google.android.material.bottomnavigation.BottomNavigationView android:id="@+id/main_bottomNavigation" android:layout_width="0dp" android:layout_height="wrap_content" app:itemBackground="@color/white" app:itemIconTint="@drawable/bottomnavi_click_color" app:itemTextColor="@drawable/bottomnavi_click_color" app:labelVisibilityMode="labeled" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="1.0" app:layout_constraintStart_toStartOf="parent" app:menu="@menu/menu_main_bottomnavigation" /> </androidx.constraintlayout.widget.ConstraintLayout>

근데 왜 리플효과는 안사라져?
다음 글에서는 리플효과 없애는 법을 알아보겠다.

