android:如何删除操作栏中的后退/主页按钮

时间:2014-03-10 23:59:15

标签: android

我在尝试从操作栏中删除后退/主页按钮时遇到了困难。

 getActionBar().setDisplayShowHomeEnabled(false);   //disable back button
 getActionBar().setHomeButtonEnabled(false);

在较旧的Android手机中,后退按钮会被这两个代码行删除。但是对于nexus 4,后退按钮仍然出现,但只是禁用。另外,我只是在右侧添加一个菜单项,其行为类似于后面/主页按钮,取代了后面/主页按钮。我错过了什么?

9 个答案:

答案 0 :(得分:76)

使用getActionBar().setDisplayHomeAsUpEnabled(false)从操作栏中删除主页按钮。

答案 1 :(得分:14)

如果您使用的是API级别14或更高级别并且未使用ActionbarSherlock,则onCreateOptionsMenu中的此代码将禁用向上按钮,删除左侧插入符号并删除图标:

ActionBar actionBar = getActionBar();
if (actionBar != null) {
    actionBar.setHomeButtonEnabled(false); // disable the button
    actionBar.setDisplayHomeAsUpEnabled(false); // remove the left caret
    actionBar.setDisplayShowHomeEnabled(false); // remove the icon
}

来源:https://stackoverflow.com/a/24967862/2887103

答案 2 :(得分:9)

ElectronicGeeks的回答是正确的。

对于低于11的API,请使用:

getSupportActionBar().setDisplayHomeAsUpEnabled(false);

答案 3 :(得分:4)

要控制可用性,请使用setHomeAsUpEnabled()

答案 4 :(得分:0)

所有建议的解决方案都不适合我。

但是这个确实:

// Hide the back button
mActionBar.setHomeAsUpIndicator(null);

这是一种黑客(最后的解决方案),所以再次显示操作栏意味着再次设置其图标。

答案 5 :(得分:0)

您可以使用此代码:

toggle.setDrawerIndicatorEnabled(false);

非常适合我。

答案 6 :(得分:0)

此代码对我有用

用于删除导航栏 getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

用于删除状态栏 getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);

ฺ但是上面的代码会在您触摸屏幕时再次显示,因此,如果您想要静态,请结合使用此代码。

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE);

答案 7 :(得分:0)

如果您已将工具栏用作操作栏:-

工具栏工具栏= findViewById(R.id.toolbar); setSupportActionBar(toolbar);

使用以下代码隐藏导航按钮:-

toolbar.setNavigationIcon(null);

答案 8 :(得分:0)

这对我有用:)

    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayHomeAsUpEnabled(false);