不能同时使用 `BottomNavigationView` 和 `ViewPager` 以及 `TabLayout`
cannot use `BottomNavigationView` and `ViewPager` and `TabLayout` simultaneously
我在互联网上做了很多研究,得出的结论是我们不能同时使用BottomNavigationView
和ViewPager
和TabLayout
。但是有很多应用程序(例如 Instagram)将它们合并了。
我的问题是他们怎么能那样做?他们有没有使用特殊技巧?
bottomNavigationView配合ViewPager使用并不难
- 在您的布局中声明这两个控件。
- 设置 viewPageAdapter 并向其添加片段,将适配器设置为 viewPager。
- 设置 bottomNavigationView 覆盖 onNavigationItemSelectedListener,现在将设置 viewPagerAdapter 的当前项。
您是否需要更详细的代码示例,或者您准备好了吗?
您可以在 activity 中创建 bottomNavigationView 并在单击它的项目时使用此代码在其中附加片段:
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction()
.replace(frameId, fragment, "fragTransaction");
transaction.commit();
然后使用 tabLayout 和 viewPager 创建一个片段来控制其中的子片段,而您最常使用的是控制 viewPagerAdapter 中的片段
FragmentManager fragmentManager = getChildFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction()
.replace(frameId, fragment, "fragTransaction");
transaction.commit();
我在互联网上做了很多研究,得出的结论是我们不能同时使用BottomNavigationView
和ViewPager
和TabLayout
。但是有很多应用程序(例如 Instagram)将它们合并了。
我的问题是他们怎么能那样做?他们有没有使用特殊技巧?
bottomNavigationView配合ViewPager使用并不难
- 在您的布局中声明这两个控件。
- 设置 viewPageAdapter 并向其添加片段,将适配器设置为 viewPager。
- 设置 bottomNavigationView 覆盖 onNavigationItemSelectedListener,现在将设置 viewPagerAdapter 的当前项。
您是否需要更详细的代码示例,或者您准备好了吗?
您可以在 activity 中创建 bottomNavigationView 并在单击它的项目时使用此代码在其中附加片段:
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction()
.replace(frameId, fragment, "fragTransaction");
transaction.commit();
然后使用 tabLayout 和 viewPager 创建一个片段来控制其中的子片段,而您最常使用的是控制 viewPagerAdapter 中的片段
FragmentManager fragmentManager = getChildFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction()
.replace(frameId, fragment, "fragTransaction");
transaction.commit();