我在尝试从操作栏中删除后退/主页按钮时遇到了困难。
getActionBar().setDisplayShowHomeEnabled(false); //disable back button
getActionBar().setHomeButtonEnabled(false);
在较旧的Android手机中,后退按钮会被这两个代码行删除。但是对于nexus 4,后退按钮仍然出现,但只是禁用。另外,我只是在右侧添加一个菜单项,其行为类似于后面/主页按钮,取代了后面/主页按钮。我错过了什么?
答案 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
}
答案 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);