从操作栏中删除抽屉导航图标

时间:2017-02-17 03:57:28

标签: android android-actionbar

我想从操作栏中删除导航抽屉的默认图标,并将我的徽标移到左上角。

我的操作栏:

enter image description here

MainActivity:

已编辑://

如您所见,我添加了徽标而不是标题

"12"

4 个答案:

答案 0 :(得分:1)

如果您使用ActionBarToggle toggle = new ActionBarToggle(....); ,请将此行添加到您的代码中。

toggle.setDrawerIndicatorEnabled(false);

在ActionBarDrawerToggle

上调用private ActionBarDrawerToggle setupDrawerToggle() { ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, mDrawer, toolbar, R.string.drawer_open, R.string.drawer_close); return toggle; }

您需要使用actionBarToggle和hamburgerIcon

的完整代码

将此添加到您的MainActivity

onCreate

将这些行添加到您的活动// drawer hamburger icons drawerToggle = setupDrawerToggle(); // to disable hamburger icon drawerToggle.setDrawerIndicatorEnabled(false); // Tie DrawerLayout events to the ActionBarToggle mDrawer.addDrawerListener(drawerToggle); // Setup drawer view setupDrawerContent(nvDrawer); 方法

{{1}}

答案 1 :(得分:0)

试试这个

onCreate

中添加此内容
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                    this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
            drawer.setDrawerListener(toggle);
            toggle.syncState();
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            getSupportActionBar().setDefaultDisplayHomeAsUpEnabled(false);
            toggle.setDrawerIndicatorEnabled(false);
            toggle.setHomeAsUpIndicator(null); //or you can add icon
            toggle.setHomeAsUpIndicator(R.id.icon);//add this for custom icon

致谢:https://stackoverflow.com/a/33484267/5962715

答案 2 :(得分:0)

正如本文https://stackoverflow.com/a/22612901/3922542中所建议的那样 您可以在onCreate()

中更改其展示属性
getActionBar().setDisplayHomeAsUpEnabled(false);

它将隐藏导航抽屉图标。

答案 3 :(得分:0)

就我而言,我只需要将锁定模式设置为“锁定已关闭”,然后直接在工具栏上删除汉堡包图标即可。就我而言,不必显示箭头而不是汉堡包。

private fun disableDrawer() {
    val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
    val toolbar: Toolbar = findViewById(R.id.toolbar)
    drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
    toolbar.navigationIcon = null
}

要再次启用,我只需要解锁抽屉并将图标放在那里,一旦我使用导航控制器,重新创建调用setupActionBarWithNavController就会更容易。

private fun enableDrawer() {
    val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
    drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED)
    val navController = findNavController(R.id.nav_host_fragment)
    setupActionBarWithNavController(navController, appBarConfiguration)
}