2016-07-27 69 views
0

我有一个使用导航抽屉作为菜单的小应用程序。这看起来。我的问题是,当有一些模式对话框片段被打开时,抽屉也应该可用。有没有办法打开一个对话框片段前的导航抽屉

我设法认识正确使用GestureDetector的滑动手势和结果转发给主要活动。这称为

drawerLayout.openDrawer 

方法。工作正常,但抽屉出现在对话框的背景中。

有没有一种简单的方法,使抽屉前?

  • 是否必须为导航抽屉创建自己的片段并由我自己处理?
  • 如果是这样,你知道任何代码示例如何可以很容易地归档
  • 我必须以某种方式指定对话框片段的抽屉(如何)吗?

所有建议/提示是值得欢迎的。在此先感谢

+0

一般来说,对话框用于需要继续之前的用户动作/输入,所以你为什么会想这样做绕过这个正常的行为? – Luksprog

+0

这不是我的决定。该应用程序从WinME设备移植,前提是它看起来很相似。对话框用于流量控制,但总是可以选择菜单项来执行独立于主视图当前状态的其他操作。 我没有这样做,因为我想这样做,这是因为我有这样做。 – BChrom

回答

0

我结束得到的是以下几点:

  • 我使用的是自己的对话框界面,基本上提供对话框的标准方法(显示/驳回/ ...)。
  • 有被延伸的真正对话一种实现(在这里没有菜单是必要的情况下使用)
  • 另外一个延伸的片段(NO DialogFragment)
  • 我自己的对话风格片断创建了一个半透明的布局覆盖整个屏幕消耗触摸事件。其中有一个相对布局,它保存对话框的视图/内容(由setContentView设置)。该布局使用定义对话框外观的背景可绘制。
  • 显示/解除方法将从片段管理器中添加/删除它。

因此,它是一个含有表示对话框的图正常片段。我还检查了几个属性(位置,可以设置为对话框的标志),并尝试将它们应用到显示的视图。

我不是这种做法完全满意,它肯定有一些缺点,但现在它fullfills我的需求。