如何使用 BottomNavigationView 在视图之间切换?
How to switch between views with BottomNavigationView?
我的应用程序中有一个 BottomNavigationView,我想完美地更改视图。
我试图开始一个新的 activity 但它看起来很糟糕,因为整个活动都有动画。即使我禁用动画,它仍然看起来不太好,因为新 activity 的 BottomNavigationView 与旧的(之前的)重叠,因此项目的动画被中断。
Material 设计指南建议用视图来做。问题是我找不到办法去做。每个视图还应该有自己的 class 和自己的片段。
有办法实现吗?
Fragment
s 与 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 显示具有所需布局的新片段
我的应用程序中有一个 BottomNavigationView,我想完美地更改视图。
我试图开始一个新的 activity 但它看起来很糟糕,因为整个活动都有动画。即使我禁用动画,它仍然看起来不太好,因为新 activity 的 BottomNavigationView 与旧的(之前的)重叠,因此项目的动画被中断。
Material 设计指南建议用视图来做。问题是我找不到办法去做。每个视图还应该有自己的 class 和自己的片段。
有办法实现吗?
Fragment
s 与 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 显示具有所需布局的新片段