创建导航抽屉以链接到片段和活动

时间:2019-03-17 04:43:59

标签: android navigation-drawer

所以我有一个类似的导航抽屉,它有3个按钮可转到2个不同的片段,另一个按钮则可转到一个Activity。

Sample

当我单击一个碎片1时,我的碎片打开了,抽屉仍然完好无损,碎片2也一样 但是当我单击活动1时,抽屉消失了 但我也希望抽屉也能继续活动。 能做到吗?

2 个答案:

答案 0 :(得分:1)

(大致)您想做的是

  1. 建立菜单作为您的资源之一,并建立该列表中的项目。
  2. 在要包含抽屉的活动中,创建 抽屉对象,并为onMenuItemSelected创建一个回调。
  3. 在该回调中,引用您之前创建的菜单项ID,并使用意图和片段管理器根据所选内容启动所需的活动或片段。

答案 1 :(得分:0)

无法完成。

DrawerLayout生活在您的Activity中,而您切换到的Fragments也生活在同一Activity中。这就是为什么交换片段会完整保留抽屉的原因。这是因为它们都存在于同一个Activity中而没有任何干扰。

但是,启动Activity是不同的。这是完全不同的Activity,具有自己的布局。

如果您希望继续使用抽屉进行主导航,实际上只有两个选择。

  1. 删除第二个Activity的需求,并将其更改为Fragment。这样,您所有的片段都将存在于同一父Activity中,因此它将使用该父Activity中存在的同一抽屉。

  2. 在第二个活动中创建相同的DrawerLayoutNavigationView。调用代码以在创建抽屉时将其打开。这样,尽管您并没有真正使用相同的抽屉,但您却在幻想它仍然是相同的抽屉。