【问题标题】:Android, reusable toolbar for navigation - where to put code?Android,可重复使用的导航工具栏 - 将代码放在哪里?
【发布时间】:2016-03-11 14:24:36
【问题描述】:

我想实现一个导航工具栏,它显示在我的应用程序中几乎所有活动的底部。它将具有固定数量的元素(四个)。

截图: (某些活动仍将在顶部有自己的工具栏):

为了使它有点可重用,我为工具栏创建了一个单独的布局文件,它允许我将它包含在多个活动中:

<include android:id="@+id/toolbar_main" layout="@layout/toolbar_main" />

工具栏的每一项都指向另一个活动,这意味着它在整个应用程序中充当导航。

但是,由于我想在多个活动中使用它,我不确定在菜单项的 onClick 事件后面的 Java 代码的正确位置是什么。我见过使用基类的方法,所有使用此导航工具栏的活动都可以扩展该基类。我还考虑过根本不使用工具栏并为导航创建一个片段。我还没有使用片段,但是,除了它们的设计 .xml 之外,它们似乎还有自己的代码隐藏类,这将适用于点击事件。有什么建议?我可能会补充一点,我想稍后将导航栏居中并拉伸,这似乎不太容易使用带有关联菜单的工具栏。

【问题讨论】:

    标签: android android-fragments android-actionbar android-toolbar android-menu


    【解决方案1】:

    制作一个基础活动,它将通过您的所有其他活动进行扩展。在 Base Activity 上编写与该工具栏相关的所有逻辑。就是这样。

    【讨论】:

      【解决方案2】:

      您可以将TabLayoutViewPager 一起使用。将它们放在主Activity 中,并为每个根屏幕使用Fragment

      【讨论】:

      • 我将如何处理可以从四大视图中获得的额外活动/片段?例如,Feed 会有一个详细活动,它不会成为导航的一部分,但必须显示它。
      • 不建议这样做,因为这在安卓应用程序中不常见。最好在没有 TabLayout 的情况下打开另一个 Activity,这样您将更好地管理应用程序流程。但是,如果您必须这样做,您可以继续将片段添加到主 Activity 并删除它们,例如,当您单击另一个选项卡或执行某些操作后。但这不是一个好习惯,最后代码会一团糟。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-29
      • 1970-01-01
      • 2016-11-25
      • 1970-01-01
      • 2014-11-21
      • 1970-01-01
      相关资源
      最近更新 更多