2016-12-05 46 views
0

我试图让下面的两个功能一起工作:每个片段如何设置主细节流程+拆分工具栏?

  1. 左抽屉导航
  2. 独立的工具栏在屏幕上

你可以看到这个工作,如Gmail应用: enter image description here

看看每个窗格如何拥有自己的工具栏?我的意思是,“搜索”图标右对齐左边的片段。除此之外,我还需要这个以便为每个窗格分别设置标题。

如果没有左侧抽屉导航,这将非常容易。您只需摆脱Activity上的工具栏并在每个Fragment上使用一个工具栏即可完成。 但左抽屉导航的东西变得有点混乱,你需要在activity 为了实现它。

一个可能的解决方案,我想用内部片段像这样的左窗格中的: enter image description here

这在理论上应该工作,但我已经在过去使用内部片段,他们是没有乐趣。如果可能,我真的很想避开它们。另外,设计师们正在考虑在将来删除左窗格导航,所以我不得不做大量的重构,因为这样我就不会做任何事情......

(PS:我知道你可以在片段上创建setHasOptionsMenu来创建从活动+任何可见的片段的“组合拳”工具栏项目,但是这不是真的是我要找的)

回答

0

嗯,我已经能够完全解决这个问题,避免内部片段:d

这是我如何设置它,以防某人有同样的问题:

  1. 每个分段管理自己的工具栏

  2. 活动管理导航抽屉

添加这个方法将你activity

private ActionBarDrawerToggle toggle; 

    public void setupNavDrawer(Toolbar toolbar) { 
    drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    toggle = new ActionBarDrawerToggle(
      this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); 
    drawer.addDrawerListener(toggle); 
    drawer.addDrawerListener(this); 
    toggle.syncState(); 
} 

而且从它的工具栏应该有Fragment叫它汉堡菜单

这就是这样我activity_main.xml样子:

https://gist.github.com/feresr/66aaf9c92173d6414e4ba9df7366f77c

这是为我工作,让我知道,如果你有任何疑问,我会尽力帮助你:)