【问题标题】:navigation Screen opening when i click on button but its not closing again when i click it again导航 当我单击按钮时屏幕打开,但当我再次单击它时它不会再次关闭
【发布时间】:2020-01-29 20:12:39
【问题描述】:

导航屏幕在我单击按钮时打开,但当我再次单击它时它不会再次关闭。下面是我的代码。 这是我的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();
 }

【问题讨论】:

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


    【解决方案1】:

    试试这个方法,我希望对你有用。

    @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;
        }
    

    【讨论】:

      猜你喜欢
      • 2022-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-19
      • 2015-12-28
      • 2015-05-29
      • 2016-01-27
      相关资源
      最近更新 更多