如何使用 BottomNavigationView 在视图之间切换?

How to switch between views with BottomNavigationView?

我的应用程序中有一个 BottomNavigationView,我想完美地更改视图。

我试图开始一个新的 activity 但它看起来很糟糕,因为整个活动都有动画。即使我禁用动画,它仍然看起来不太好,因为新 activity 的 BottomNavigationView 与旧的(之前的)重叠,因此项目的动画被中断。

Material 设计指南建议用视图来做。问题是我找不到办法去做。每个视图还应该有自己的 class 和自己的片段。

有办法实现吗?

Fragments 与 BottomNavigationView 一起使用,就像 viewPager 你可以这样替换片段

BottomNavigationView bottomNavigationView = (BottomNavigationView)
                findViewById(R.id.bottom_navigation);
bottomNavigationView.setOnNavigationItemSelectedListener(
        new BottomNavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {                 Fragment frag;
                switch (item.getItemId()) {
                    case R.id.action_favorites:
                        frag=new FavFragment();
                        getSupportFragmentManager().beginTransactio().replace(R.id.container,frag);
                     break;
                    case R.id.action_another_frag:
                   //replace another fragment 
                    break;


                }
                return true;
            }
        });

您或许应该在片段而不是活动之间切换。有关详细信息,请参阅开发人员参考。 https://developer.android.com/guide/components/fragments.html#Example

这篇中型文章提供了有关如何做到这一点的更多信息: https://medium.com/@hitherejoe/exploring-the-android-design-support-library-bottom-navigation-drawer-548de699e8e0

因此创建您的 activity 并在 xml 中将 BottomNavigationView 添加到它的底部。稍后使用 switch case 显示具有所需布局的新片段