使用碎片或活动实现底部导航栏

3

我有一个应用程序,其中包含3个布局(1个列表和2个Web视图),以及一个带有底部导航的主活动。

我的第一个想法是将3个布局(1个列表和2个Web视图)绘制到主活动布局中,并隐藏2个布局(Web视图)。因此,当我按下某个底部导航选项时,显示该选项并隐藏其他选项。

但是我考虑使用相同的方法来操作Fragment。行为类似,但我必须创建3个Fragments,当按下某个底部导航选项时,我应该替换Fragment选项。

当我阅读另一个底部导航示例时,它使用了第一种'想法',但我认为第二种想法更清晰。

如何使用底部导航?使用带有布局或Fragment的Activity?您是否知道其他选项?


你可以自由选择,但使用片段会是常规方式。 - tahsinRupam
1
片段是更好的选项,因为您可以将代码分离。要实现它,请检查此链接 - http://www.androprogrammer.com/2016/12/bottom-navigation-view-with-fragments.html - Wasim K. Memon
我认为,片段是最清晰的。但是如果我想要预加载2个Web视图的内容,你会使用片段还是一个活动??我可以在活动中隐藏时预加载Web视图,但我认为我不能在片段中预加载Web视图... - Alvaro
2个回答

5

正如@tahsinRupam所指出的那样,这取决于你。然而,片段无疑是最容易处理的。一个例子可能是这样的:

private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
        = new BottomNavigationView.OnNavigationItemSelectedListener() {

    @Override
    public boolean onNavigationItemSelected(@NonNull MenuItem item) {
        switch (item.getItemId()) {
            case R.id.fragment_a:
                fragment = new FragmentA();

                break;
            case R.id.fragment_b:
                fragment = new FragmentB();

                break;
        }
        //replace fragment as necessary

        return true;
    }

};

0

最后,我采用了Fragment的方法:

  1. 我可以隐藏和显示它们。
  2. 这是最清晰的,我可以分离代码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接