2016-10-10 65 views
0

我使用,可以从两侧(左和右)打开和关闭一个Drawerlayout这样的:DrawerLayout.DrawerListener - 探测引力左/右

drawer.openDrawer(Gravity.LEFT); 
drawer.openDrawer(Gravity.RIGHT); 

我添加了一个DrawerListener检测时,它的正在关闭:

drawer.addDrawerListener(new DrawerLayout.DrawerListener() { 
     @Override 
     public void onDrawerSlide(View drawerView, float slideOffset) { 

     } 

     @Override 
     public void onDrawerOpened(View drawerView) { 

     } 

     @Override 
     public void onDrawerClosed(View drawerView) { 

      Toast.makeText(activity, "closed", 
        Toast.LENGTH_LONG).show(); 
     } 

     @Override 
     public void onDrawerStateChanged(int newState) { 

     } 
    }); 

有没有方法可以确定它是左侧还是右侧抽屉关闭?

谢谢!

+0

你是否对两个抽屉使用相同的听者?他们是两个分开的对象不是他们? –

+0

不,它是一个带有两个NavigationViews的DrawerLayout。当两个Views中的任何一个被关闭时,onDrawerClosed-Method被调用 –

回答

1

在该方法中onDrawerClosed有一个名为View未来drawerView作为参数只是检查该ID与你navigationViews ID,那么你可以告诉至极一个触发这个监听器。