【问题标题】:Fragments or Activities with persistent BottomNavigationView具有持久 BottomNavigationView 的片段或活动
【发布时间】:2018-01-27 19:07:32
【问题描述】:

我目前一直在通过将 xml 代码添加到不同菜单项的 4 个活动中的每一个来实现我的 BottomNavigationView,它作为 4 个菜单项。 4 个活动中的每一个都具有相同的 BottomNavigationView。但是,每次我在 bottomNavigationView 上按下不同的按钮时,BottomNavigationView 都会随着活动的变化而刷新。那么,我应该使用带有 BottomNavigationView 的片段或活动吗?我的 4 项活动中的每一项都互不相关。

我正在使用 BottomNavigationViewEx 库,但这不会改变任何东西。以下是这 4 个活动之间的通用 XML:

<com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx
        android:id="@+id/bottom_navigation_view"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:background="?android:attr/windowBackground"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:menu="@menu/navigation" />

【问题讨论】:

  • 如果所有 4 个屏幕的底部菜单都相同,那么可以使用片段而不是活动。它会给您更大的灵活性和更易于维护
  • @SahilManchanda 每次我点击菜单项时碎片是否会堆叠在一起,或者当我切换时它们会被杀死?
  • 这取决于您的实现.. 如果您使用 ViewPager 并将屏幕外页面限制设置为 4,则不会杀死任何片段,或者如果您像使用片段事务一样手动处理,您可以堆叠.. 总而言之这取决于你的实现
  • @SahilManchanda 谢谢,如果您想发布答案,那回答了我的问题。
  • 好的.. :) 给我一分钟..

标签: android android-fragments android-activity bottomnavigationview


【解决方案1】:

如果所有 4 个屏幕的底部菜单都相同,那么可以使用片段而不是活动。它会给您更多的灵活性和更易于维护

您可以使用 ViewPager 来处理您的片段或使用 FragmentTransaction 与 FrameLayout 来显示您的片段。

【讨论】:

    【解决方案2】:

    我自己对此进行了大量研究,试图找到一个好的答案,因为我通常会将片段与一个活动一起使用,但是与活动。因此,必须处理源自复杂的片段生命周期的大量问题是很常见的。

    所以我在想如果你可以用底部导航将每个片段变成自己的活动会怎样。然后通过使用活动转换来保持底部导航的位置,并使底部导航成为活动之间的共享元素,以便页面上的其他所有内容都可以执行您想要的任何自定义动画。下面是一些文档链接和我发现的一个示例 repo 来证明这一点。

    https://android.jlelse.eu/android-material-design-activity-transition-55de706ab967 https://developer.android.com/training/material/animations.html https://github.com/ddekanski/BottomNavigationViewBetweenActivities

    现在我不确定这对您是否重要的​​一件事是您是否希望用户能够在应用程序的页面之间滑动。如果你说是,那么我现在会坚持使用片段并使用ViewPager 来完成此操作。滑动仍然可能仅通过活动进行,尽管此链接可能是一个好的开始,但我还没有探索如何进行。

    https://www.bignerdranch.com/blog/viewpager-without-fragments/

    如果您确实选择使用片段,这也是一个很棒的教程,涵盖了您可能想了解的有关底部导航的所有内容。

    https://android.jlelse.eu/ultimate-guide-to-bottom-navigation-on-android-75e4efb8105f

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-13
      • 2016-03-19
      • 1970-01-01
      相关资源
      最近更新 更多