2017-10-04 89 views
0

如何隐藏NavigationViewshackbar显示?NavigationView打开时如何隐藏快餐栏?

这样snackbar不重叠NavigationView

+0

使用'drawerLayout.isDrawerOpen()'方法检查抽屉是否打开,然后在'snackbar.show()'上执行'drawerLayout.closeDrawer()'。 –

回答

3

您可以使用Snackbar Callbacks

snackbar.addCallback(new Snackbar.Callback() { 

    @Override 
    public void onDismissed(Snackbar snackbar, int event) { 
     //see Snackbar.Callback docs for event details 
     ... 
    } 

    @Override 
    public void onShown(Snackbar snackbar) { 
     drawerLayout.closeDrawer(GravityCompat.START); 
    } 
    }); 
0

试试这个

  • 在这里有two办法close your drawer

    1. close抽屉与animation这样

snackbar.addCallback(new Snackbar.Callback() { 

@Override 
public void onDismissed(Snackbar snackbar, int event) { 
    //see Snackbar.Callback docs for event details 
    ... 
} 

@Override 
public void onShown(Snackbar snackbar) { 
    drawerLayout.closeDrawer(GravityCompat.START); 
} 
}); 

  • close抽屉没有animation这样

  • snackbar.addCallback(new Snackbar.Callback() { 
    
    @Override 
    public void onDismissed(Snackbar snackbar, int event) { 
        //see Snackbar.Callback docs for event details 
        ... 
    } 
    
    @Override 
    public void onShown(Snackbar snackbar) { 
        drawerLayout.closeDrawer(GravityCompat.START,false); 
    } 
    });