不能同时使用`BottomNavigationView`和`ViewPager`和`TabLayout`

时间:2018-02-23 14:33:34

标签: android android-fragments android-viewpager android-tablayout bottomnavigationview

我在互联网上做了很多研究,结论是我们不能同时使用BottomNavigationViewViewPagerTabLayout。但有很多应用程序,如Instagram合并他们。 我的问题是他们怎么能这样做?他们是否使用特殊技巧?

2 个答案:

答案 0 :(得分:1)

将bottomNavigationView与ViewPager一起使用并不困难。

  1. 在您的布局中声明这两个控件。
  2. 设置viewPageAdapter并向其添加片段,将适配器设置为viewPager。
  3. 设置bottomNavigationView覆盖onNavigationItemSelectedListener,现在将设置viewPagerAdapter的当前项目。
  4. 您是否需要更详细的代码示例,或者您已准备好摇滚?

答案 1 :(得分:1)

您可以在活动中创建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();