导航当我单击按钮时屏幕打开,但是当我再次单击它时它没有再次关闭

时间:2020-01-29 20:12:39

标签: java android xml android-studio android-fragments

导航当我单击按钮时,屏幕打开,但是当我再次单击它时,它没有再次关闭。下面是我的代码。 这是我的Java代码:

  toolbar = findViewById(R.id.maintoolbar);

 toolbar.setTitleTextAppearance(this, R.style.ActionBarTitle);
 // Sets the Toolbar to act as the ActionBar for this Activity window.
 // Make sure the toolbar exists in the activity and is not null
 setSupportActionBar(toolbar);
 Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(true);

 toolbar.setNavigationOnClickListener(new NavigationIconClickListener(
         getBaseContext(),
         findViewById(R.id.mainContainer),
         new AccelerateDecelerateInterpolator(),
         getApplicationContext().getResources().getDrawable(R.drawable.branded_menu), // Menu open icon
         getApplicationContext().getResources().getDrawable(R.drawable.close_menu)));




 bNavVu = findViewById(R.id.bottom_nav_vu);

 final View activityRootView = findViewById(R.id.rootLayout);
 activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
     @Override
     public void onGlobalLayout() {
         Rect r = new Rect();
         //r will be populated with the coordinates of your view that area still visible.
         activityRootView.getWindowVisibleDisplayFrame(r);

         int heightDiff = activityRootView.getRootView().getHeight() - (r.bottom - r.top);
         if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard...
             hideSystemUI();
         }
     }
 });

 if (savedInstanceState == null) {
     getSupportFragmentManager()
             .beginTransaction()
             .add(R.id.mainContainer, new CategoryFragment())
             .commit();
 }

1 个答案:

答案 0 :(得分:0)

以这种方式尝试,希望与您合作。

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        toolbar.setTitle("Menu 1");
        setSupportActionBar(toolbar);

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        Toolbar toggle = new Toolbar(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.setDrawerListener(toggle);
        toggle.syncState();

        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);
    }

听众

    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        int id = item.getItemId();

        if (id == R.id.nav_menu1) {
            // Handle the camera action
        } else if (id == R.id.nav_menu2) {

        } else if (id == R.id.nav_menu3) {

        }
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
        return true;
    }