带有childfragments和activity的NavigationDrawer

时间:2015-06-18 10:54:59

标签: android navigation-drawer

我有一个活动A,一个ListFragment L和两个片段F1和F2。

当应用程序启动时,会创建一个A,它会加载L.根据用户点击的内容,它会替换为F1或F2

我已经实现了一个向用户显示某些项目的导航抽屉。但是,由于我在Activity中实现了导航抽屉,因此它显示了所有碎片。但我希望节目A是可见的

(非常类似于Googles Gmail应用。当用户在主屏幕上时 - 抽屉就在场。当用户点击打开电子邮件时,抽屉会更改为后退按钮)

我不知道如何翻译上面的代码。提前谢谢

1 个答案:

答案 0 :(得分:0)

在你的内部片段(如查看邮件)

@Override
public void onPause()
{
super.onPause();
((MyActivity) getActivity()).enableToggle();
}

@Override
public void onResume()
{
super.onResume();
((MyActivity) getActivity()).disableToggle();
}

我希望你的活动中会有'NavigationDrawerFragment',添加这个方法:

public void disableToggle()
{
if (mNavigationDrawerFragment != null)
    mNavigationDrawerFragment.disableToggle();
}

public void enableToggle()
{
if (mNavigationDrawerFragment != null)
    mNavigationDrawerFragment.enableToggle();
}

在NavigationDrawerFragment中添加以下方法: 还要检查您是否正在使用 android.support.v7.app.ActionBarDrawerToggle;

public void disableToggle()
{
if (mDrawerToggle != null)
    mDrawerToggle.setDrawerIndicatorEnabled(false);
}

public void enableToggle()
{
if (mDrawerToggle != null)
    mDrawerToggle.setDrawerIndicatorEnabled(true);
}

编辑:查看上述代码的快照

MainFragment

2

DetailFragment

2