如何隐藏导航视图android的默认汉堡包图标

时间:2017-11-30 11:15:06

标签: java android navigation-drawer toolbar

我需要隐藏汉堡包图标

enter image description here

enter image description here

这是我的工具栏

我需要隐藏导航栏的默认汉堡包图标并从另一个按钮点击加载它。导航栏需要出现在附件图标上点击我的工具栏,当我点击外面(任何地方)时需要消失。可以这样可以吗?

3 个答案:

答案 0 :(得分:7)

如果您正在使用ActionBarDrawerToggle,则可以添加一行

toggle.setDrawerIndicatorEnabled(false);

以及您可以在点击事件中写入的打开和关闭抽屉

if (drawer.isDrawerOpen(GravityCompat.START)) {
    drawer.closeDrawer(GravityCompat.START);
} else {
    drawer.openDrawer(GravityCompat.START);
}

答案 1 :(得分:2)

您可以隐藏汉堡包图标:

toolbar.setNavigationIcon(null);          // to hide Navigation icon
toolbar.setDisplayHomeAsUpEnabled(false); // to hide back button

如果您已在工具栏中添加附件图标手动(作为imageView):

boolean isDrawerOpen = false;
imageViewAttachment..setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
              if(!isDrawerOpen) {
                  mDrawerLayout.openDrawer(Gravity.LEFT);
                  isDrawerOpen = true;
              }
              else {
                  drawerLayout.closeDrawer(Gravity.END);
                  isDrawerOpen = false;
              }
            }
        });

或者,如果您已添加为菜单项目:

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.attachment:
                if(!isDrawerOpen) {
                  mDrawerLayout.openDrawer(Gravity.LEFT);
                  isDrawerOpen = true;
                }
                else {
                  drawerLayout.closeDrawer(Gravity.END);
                  isDrawerOpen = false;
                }
                return true;
        }
        return super.onOptionsItemSelected(item);
    }

答案 2 :(得分:0)

此答案与@Yupi相同。我要再回答一次,因为在此处张贴此内容将易于查看和理解。 如果您使用的是supportActionBar,则只需执行此操作即可隐藏“汉堡包”图标。

getSupportActionBar().setDisplayHomeAsUpEnabled(false);

如果要启用“汉堡包”图标。然后

getSupportActionBar().setDisplayHomeAsUpEnabled(true);