与多个活动共享导航抽屉

时间:2017-03-10 13:34:35

标签: java android android-studio android-activity

我有一个导航抽屉活动。 在大多数菜单项后面我有各种片段,我只用这样的片段替换内容布局:

fragmentManager.beginTransaction().replace(R.id.content_menu, new InformationFragment()).commit();

因此,当我点击菜单项时,导航抽屉会向左滑动,而内容会更改为片段中的内容,我可以继续使用导航抽屉。

但是其中一个菜单项确实需要它自己的Activity,所以我没有使用新片段的事务:

Intent intent  = new Intent(this, NewActivity.class);
startActivity(intent);

在这个新活动中,我可以添加与我在第一个活动中使用的相同的导航抽屉,这样可行,但我无法想象这是处理这种情况的最佳方法。

是否可以将导航抽屉置于活动“上方”以便他们共享?

1 个答案:

答案 0 :(得分:1)

我最近在一个项目上实现了这一点。我实施的主要灵感来自Google I/O official app

总结要点:

  • 创建一个AppNavigationView,其中包含显示导航项,关闭或打开抽屉以及处理点击事件的所有逻辑
  • 创建一个BaseActivity成员
  • AppNavigationView
  • 确保需要导航抽屉的所有活动扩展您刚刚创建的BaseActivity