【问题标题】:How can I call a function when navigation drawer is toggled?切换导航抽屉时如何调用函数?
【发布时间】:2019-07-30 13:46:46
【问题描述】:
我想根据已登录的用户以及他们是否拥有高级帐户来更改导航抽屉上的项目。
我知道如何让项目可见和不可见,但我想知道是否可以在某处放置一个函数,当它被切换时,它会设置项目的可见性并根据用户配置文件更改标题。
提前谢谢大家。
【问题讨论】:
标签:
android
android-studio
navigation-drawer
【解决方案1】:
在您的 DrawerLayout 中添加 DrawerListener
mDrawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
@Override
public void onDrawerSlide(@NonNull View drawerView, float slideOffset) {
}
@Override
public void onDrawerOpened(@NonNull View drawerView) {
}
@Override
public void onDrawerClosed(@NonNull View drawerView) {
}
@Override
public void onDrawerStateChanged(int newState) {
}
});
【解决方案2】:
我建议你在 DrawerLayout 中添加一个 DrawerListener
drawerLayout.addDrawerListener(new DrawerToggle());
DrawerToggle 是 android.support.v4.widget.SimpleDrawerListener 的扩展,您在其中覆盖了 onClick() 和 onDrawerSlide()
@Override
public void onClick(View v) {
mDrawerLayout.openDrawer(GravityCompat.START);
}
@Override
public void onDrawerSlide(View drawerView, float slideOffset) {
super.onDrawerSlide(drawerView, slideOffset);
}
您可以使用这些方法来捕捉抽屉切换事件