마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

하단 네비게이션 커스텀 방법

0 추천
<?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">
    <item
        android:id="@+id/tab1"
        android:enabled="true"
        android:icon="@android:drawable/ic_dialog_email"
        android:title="이메일"
        app:showAsAction="ifRoom"/>
    <item
        android:id="@+id/tab2"
        android:icon="@android:drawable/ic_dialog_info"
        android:title="정보"
        app:showAsAction="ifRoom"/>
    <item
        android:id="@+id/tab3"
        android:icon="@android:drawable/ic_dialog_map"
        android:title="위치"
        app:showAsAction="ifRoom"/>
</menu>

https://goatlab.tistory.com/1047

여기서 2번째나 3번째 아이템으로 나오게 하고 싶은데 액티비티로 이동하면 첫번째 아이콘인 이메일로 고정이 되어서 어떻게 해야하는지 궁금합니다!

enerigpy (2,110 포인트) 님이 2022년 11월 18일 질문

1개의 답변

0 추천
 
채택된 답변

이미 블로그의

xml : bottom_navigation_color

섹션에 거의 설명이 되어 있는 부분이 아닌가요?

화면 이동 시에 원하는 메뉴아이템을  선택 상태로 만드세요.

bottomNavigationView.menu.findItem(R.id.tab1).setChecked(false);
bottomNavigationView.menu.findItem(R.id.tab2).setChecked(true);
bottomNavigationView.menu.findItem(R.id.tab3).setChecked(false);

bottmoNavigationView.menu.size(), getItem() 등을 이용하시면 메뉴아이템을 루프안에서 처리할 수 있습니다.
 

private void setBottomCheckedMenuItem(int id) {
   for (int i = 0; i < bottmoNavigationView.getMenu().getSize(); i++) {
        Menu menu = bottmoNavigationView.getMenu().getItem(i);
        menu.setChecked(menu.getItemId() == id);
   }
}

BottomNavigationMenu의 아이템을 자돋으로 선택하게 하려면 NavigationComponent를 사용하는 방법도 있습니다.

spark (224,800 포인트) 님이 2022년 11월 18일 답변
enerigpy님이 2022년 11월 21일 채택됨
...