참고 소스
구현 계획
라이브러리를 활용하여 하단 네비게이션 바를 커스터마이징 하기
gradle(Module) 파일에 라이브러리 싱크
dependencies {
implementation 'com.ismaeldivita.chipnavigation:chip-navigation-bar:1.3.0'
}
사용할 색깔 설정: res>values>colors.xml 파일 수정
원하는 색깔을 자유롭게 지정한다.
Tip: Just color picker 프로그램을 활용, 컬러 코드 추출
<!--bottom navigation bar-->
<color name="navigation_color_add">#6200EE</color>
<color name="navigation_color_mood">#C9379D</color>
<color name="navigation_color_habit">#E6A919</color>
<color name="navigation_color_chart">#008577</color>
<color name="navigation_color_profile">#1194AA</color>
menu 디렉토리 생성
res>우클릭>new>Android Resource Directory>resource type:menu
bottom navigation에 들어갈 아이템 작성
res>menu>bottom_navigation.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:cnb_unselectedColor="#666666">
<item
android:id="@+id/mood"
android:icon="@drawable/ic_palette"
android:title="mood"
app:cnb_iconColor="@color/navigation_color_mood"/>
<item
android:id="@+id/habit_tracker"
android:icon="@drawable/ic_check"
android:title="habit"
app:cnb_iconColor="@color/navigation_color_habit"/>
<item
android:id="@+id/add"
android:icon="@drawable/ic_add"
android:title="add"
app:cnb_iconColor="@color/navigation_color_add"/>
<item
android:id="@+id/chart"
android:icon="@drawable/ic_chart"
android:title="chart"
app:cnb_iconColor="@color/navigation_color_chart"/>
<item
android:id="@+id/profile"
android:icon="@drawable/ic_account"
android:title="profile"
app:cnb_iconColor="@color/navigation_color_profile"/>
</menu>
네비게이션 바를 보여줄 레이아웃 파일 작성: ChipNavigationBar
activity_main.xml
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<com.ismaeldivita.chipnavigation.ChipNavigationBar
android:layout_width="match_parent"
android:layout_height="70dp"
android:background="#fff"
android:gravity="center"
android:elevation="16dp"
app:cnb_menuResource="@menu/bottom_navigation"
app:layout_constraintBottom_toBottomOf="parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
'인문학도 개발일지 > 앱프로그래밍' 카테고리의 다른 글
[코틀린 kotlin] 새차원의 코틀린 강좌 - 1. why kotlin (0) | 2020.04.15 |
---|---|
[안드로이드][코틀린] 하단 네비게이션바(bottom navigation)-프래그먼트(fragment) 연결 (0) | 2020.03.28 |
[안드로이드][레이아웃] 패스워드 기능 구현(비밀번호 숨기기) (0) | 2020.03.27 |
[안드로이드][코틀린] 클래스 상속방법 (0) | 2020.03.24 |
[안드로이드][코틀린] 접근자 메소드(getter, setter) (0) | 2020.03.24 |