2017-10-04 67 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); 
    } 
    });