Disabling navigation drawer, toggling home-button/up-indicator in fragments

前端 未结 5 1451
离开以前
离开以前 2020-12-12 13:37

The setup

I have an activity whose contentView is an instance of a DrawerLayout, which has a navigation drawer with a drawer indicator displayed in th

5条回答
  •  难免孤独
    2020-12-12 14:22

    Building on sonida's answer. After calling setDrawerIndicatorEnabled(false), onNavigateUp wasn't being called still. So, I just created a new onClickListener that called it:

    public void setDrawerState(boolean isEnabled) {
        if ( isEnabled ) {
            mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
            drawerToggle.setDrawerIndicatorEnabled(true);
            drawerToggle.syncState();
    
        }
        else {
            mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
            drawerToggle.setDrawerIndicatorEnabled(false);
            drawerToggle.setToolbarNavigationClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    onSupportNavigateUp();
                }
            });
            drawerToggle.syncState();
        }
    }
    

    also I think

    drawerToggle.onDrawerStateChanged(DrawerLayout.LOCK_MODE_UNLOCKED);
    

    has been depreciated, but it works fine without it.

提交回复
热议问题