Android底部导航组件BottomNavigationView怎么使用

其他教程   发布日期:2023年09月11日   浏览次数:505

本篇内容介绍了“Android底部导航组件BottomNavigationView怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

BottomNavigationView的简单用法

需求:如上图所示。点击测试一菜单,展示test1fragment。点击测试二菜单,展示test2fragment。点击测试三菜单,展示test3fragment。

第一步,testActivity布局

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. android:id="@+id/container"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. android:orientation="vertical">
  8. // 容器,承载fragment
  9. <FrameLayout
  10. android:id="@+id/nav_host_fragment"
  11. android:name="androidx.navigation.fragment.NavHostFragment"
  12. android:layout_width="match_parent"
  13. android:layout_height="0dp"
  14. android:layout_weight="1" />
  15. // BottomNavigationView
  16. <com.google.android.material.bottomnavigation.BottomNavigationView
  17. android:id="@+id/nav_view"
  18. android:layout_width="match_parent"
  19. android:layout_height="wrap_content"
  20. android:background="?android:attr/windowBackground"
  21. app:menu="@menu/bottom_nav_menu_test" />
  22. </LinearLayout>

第二步,写BottomNavigationView所需要的菜单

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <menu xmlns:android="http://schemas.android.com/apk/res/android">
  3. <item
  4. android:id="@+id/navigation_test1"
  5. android:icon="@drawable/ic_home_black_24dp"
  6. android:title="测试一" />
  7. <item
  8. android:id="@+id/navigation_test2"
  9. android:icon="@drawable/ic_dashboard_black_24dp"
  10. android:title="测试二" />
  11. <item
  12. android:id="@+id/navigation_test3"
  13. android:icon="@drawable/ic_notifications_black_24dp"
  14. android:title="测试三" />
  15. </menu>

第三步,书写testActivity文件。重点是setOnNavigationItemSelectedListener点击事件

  1. public class TestActivity extends AppCompatActivity {
  2. List<Fragment> mFragments = new ArrayList<>();
  3. test1Fragment t1f = new test1Fragment();
  4. test2Fragment t2f = new test2Fragment();
  5. test3Fragment t3f = new test3Fragment();
  6. @Override
  7. protected void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.activity_test);
  10. BottomNavigationView navView = findViewById(R.id.nav_view);
  11. mFragments.add(t1f);
  12. mFragments.add(t2f);
  13. mFragments.add(t3f);
  14. // navView 点击事件
  15. navView.setOnNavigationItemSelectedListener((item)->{
  16. switchFragment(item.getItemId());
  17. return true;
  18. });
  19. }
  20. private void switchFragment(int id) {
  21. Fragment fragment = null;
  22. switch (id) {
  23. case R.id.navigation_test1:
  24. fragment = mFragments.get(0);
  25. break;
  26. case R.id.navigation_test2:
  27. fragment = mFragments.get(1);
  28. break;
  29. case R.id.navigation_test3:
  30. fragment = mFragments.get(2);
  31. break;
  32. default:
  33. break;
  34. }
  35. if (fragment != null) {
  36. getSupportFragmentManager().beginTransaction().replace(R.id.nav_host_fragment,fragment).commit();
  37. }
  38. }
  39. }

以上就是Android底部导航组件BottomNavigationView怎么使用的详细内容,更多关于Android底部导航组件BottomNavigationView怎么使用的资料请关注九品源码其它相关文章!