【问题标题】:Open Navigation Drawer with Button Click使用按钮单击打开导航抽屉
【发布时间】:2017-10-14 15:20:23
【问题描述】:

我正在使用导航抽屉,我想单击活动上的按钮,导航抽屉应该会显示,但我不知道该怎么做。通常,当我们从左边缘向右滑动时,将显示导航。因此,我希望能够通过单击按钮打开导航抽屉。

【问题讨论】:

标签: android button navigation navigationbar


【解决方案1】:

使用以下方法打开和关闭您的导航抽屉:

DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

//To Open:
drawerLayout.openDrawer(Gravity.START);

//To Close:
drawerLayout.closeDrawer(Gravity.END);

Source1了解更多信息:

Source2

【讨论】:

  • 我有一个变量 private NavigationView navigationBar;btnButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { navigationBar.show(); ????????? ??? Toast.makeText(PlaylistActivity.this, "CLicked", Toast.LENGTH_SHORT).show(); } });
  • @Danh NavigationView 通常放置在 DrawerLayout 中,因此您需要处理您的导航抽屉。
  • 我还是做不到。能详细点吗?
【解决方案2】:
 Button hamMenu = findViewById(R.id.ham_menu);

    hamMenu.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            DrawerLayout navDrawer = findViewById(R.id.drawer_layout);
            // If the navigation drawer is not open then open it, if its already open then close it.
            if(!navDrawer.isDrawerOpen(GravityCompat.START)) navDrawer.openDrawer(Gravity.START);
            else navDrawer.closeDrawer(Gravity.END);
        }
    });

【讨论】:

    【解决方案3】:

    您也可以使用方法并使用@Zeeshan 给出的完全相同的步骤。

    public void hamMenu(View view){
        DrawerLayout drawer = findViewById(R.id.drawer_layout);
        if (!drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.openDrawer(GravityCompat.START);
        } else {
            drawer.closeDrawer(GravityCompat.END);
        }
    }
    

    .xml中需要android:Onclick="hamMenu"的按钮中使用此方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-01
      • 1970-01-01
      • 2018-03-02
      • 1970-01-01
      相关资源
      最近更新 更多