바텀 네비게이션 뷰 사용하기


오랜만이군요. 안녕하세요, 제롯 킘 입니다. 오늘은 바텀 네비게이션 뷰를 활용하는 방법을 알아볼 건데요, 그럴려면 먼저 전 시간 수업 에서 알아보았던 '새 프로젝트 만들기' 를 참고하여 프로젝트를 만드시는데요, 액티비티를 고를 때는 "Bottom Navigation Activity" 를 선택해 주시고, 만드시면 되겠습니다.

 

프로젝트를 만드셨다면 이러한 화면이 나올 것 입니다.


이 화면에서 여러분은 쓰여진 대로 클릭하시면 앱의 화면이 보여지는 것을 알 수 있습니다.

그러면, 이제 다시 돌아가서 MainActivity.java에서 보면,

private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {

@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_home:
mTextMessage.setText(R.string.title_home);
return true;
case R.id.navigation_dashboard:
mTextMessage.setText(R.string.title_dashboard);
return true;
case R.id.navigation_notifications:
mTextMessage.setText(R.string.title_notifications);
return true;
}
return false;
}
};

이러한 코드를 보실 수 있으실 텐데요, 이 코드와 

BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);

이 코드가 이번 시간에서 가장 중요한 요소가 될 수 있을 것 같습니다.


먼저 첫번째 코드를 봅시다. 첫번째 코드는 바텀 네비게이션 뷰에서 선택을 한 아이템 때문에 실행될 이벤트를 적어놓은 코드입니다.


case R.id.navigation_home;
mTextMessage.setText(R.string.title_home);
return true;

 이 코드에서는 아이디가 navigation.home 인 아이템을 선택했을때의 이벤트를 무엇으로 할 지를 정하고 있습니다. 여기에서는 TextView의 텍스트를 지정하고 있습니다. 그럼 한번 프로그램의 실행결과를 볼까요?

프로그램의 실행 결과는 이렇습니다(밑에 바텀 네비게이션 뷰의 이름이 좀 이상한 것은 양해 부탁드립니다...).


그래서, 바텀 네비게이션 뷰로는 화면을 전환하거나, 토스트 메시지를 띄우거나, 여러가지 것들을 할 수 있겠습니다. 하지만 여기서 어떤 분들은 "저 아이콘 어떻게 바꾸나요? 이름은 어떻게 바꾸나요?" 라고 궁금해 하실 수 있습니다. 예, 바꿀 수 있습니다.


여기에 보시면, xml 형식의 navigation 이라는 파일이 있는데요, 이 파일 안으로 들어가 보면 

<item
android:id="@+id/navigation_dashboard"
android:icon="@drawable/ic_dashboard_black_24dp"

android:title="댓시 보얼드" />

<item
android:id="@+id/navigation_home"
android:icon="@drawable/ic_home_black_24dp"
android:title="@string/title_dashboard" />

<item
android:id="@+id/navigation_notifications"
android:icon="@drawable/ic_notifications_black_24dp"
android:title="@string/title_notifications" />


이러한 코드가 나옵니다. 여기서 

android:title

을 수정하시면 됩니다. 그럼 이름이 바뀌고요, 아이콘은 이 사이트 에 들어가시면 구하실 수 있습니다. 그 다음 drawable 에 되도록 영문(대문자 안됨) 으로 이름을 지정하시고 xml에서 id를 정해 주세요. 그러면 이렇게 아이콘이나 이름을 바꾸실 수 있습니다.



이렇게 해서 바텀 네비게이션 뷰 활용하기가 끝났습니다. 아이템을 선택하였을때의 이벤트는 여러분이 원하시는 대로, 지정하시면 되겠습니다.

예제를 원하시면 방명록에 남겨주세요. 제가 보내겠습니다.

이상입니다. 감사합니다.

+ Recent posts