2015-04-21 142 views
2

我有一个DrawerLayout通常可以很好地工作。我使用的是通过调用此方法打开抽屉按钮:DrawerLayout.openDrawer有时不能正常工作

mDrawerLayout.openDrawer(mFragmentContainerView); 

正如我所说的,一切工作正常,但有时当活动来自背景后面的openDrawer方法不起作用。

之前和调用openDrawer方法后,利用

mDrawerLayout.isDrawerOpen(mFragmentContainerView); 

,我可以看到它总是被关闭。

我已经花了几个小时。到底是怎么回事?任何线索感谢!

+0

你是否在该活动中重写了onresume并为抽屉布局产生了任何结果? –

+0

不,我并不是重写任何onResume。 – Montaner

回答

1

打开并使用它的引力这样

if (mDrawerLayout.isDrawerOpen(Gravity.START)) { 
         mDrawerLayout.closeDrawers(); 
        } else { 
         mDrawerLayout.openDrawer(Gravity.START); 
        } 

关上抽屉或代替重力的使用View.VISIBLE和View.GONE。

+0

谢谢,但Gravity.START无法正常工作。 View.VISIBLE或View.GONE抛出异常IlegalArgumentException“容器不是滑动抽屉”。 – Montaner

+0

在您的darwer布局xml文件中,您包含的布局必须设置重力启动。 –

+0

是的,布局有重力=“开始”。这就是它通常起作用的原因。 – Montaner