1. Trong layout của Activity: Tạo thêm 1 thẻ BottomNavigationView
Thẻ đó là com.google.android.material.bottomnavigation.BottomNavigationView
Đặt id là: bottom_nav_bar
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_nav_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:menu="@menu/bottom_nav_item"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintHorizontal_bias="1"
app:layout_constraintVertical_bias="1" />
2. Kích phải lên thư mục res/ tạo file menu có tên là bottom_nav_item
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:title="Phone" android:id="@+id/nav_phone" />
<item android:title="Address" android:id="@+id/nav_address"/>
<item android:title="Setting" android:id="@+id/nav_setting" />
</menu>
3. Trong MainActivity.java thêm các code sau vào hàm onCreate
BottomNavigationView bottomNavigationView;
bottomNavigationView = findViewById(R.id.bottom_nav_bar);
bottomNavigationView.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
// viết code xử lý click ở đây, dùng switch case kiểm tra item menu tương ứng
switch (item.getItemId()){
case R.id.nav_phone:
// công việc với phone ở đây
break;
case R.id.nav_address:
//...
break;
}
return true; // return là true thì mới có hiệu ứng chọn phần tử
}
});
bottomNavigationView.setOnItemReselectedListener(new NavigationBarView.OnItemReselectedListener() {
@Override
public void onNavigationItemReselected(@NonNull MenuItem item) {
}
});
Chạy và thử nghiệm tính năng