如何在使用操作栏时隐藏标题栏?

Arc*_*rci 19 android titlebar actionbarsherlock android-actionbar

我正在使用ActionBarSherlock并且我试图隐藏我的应用程序的标题栏但是每当我这样做时,我NullPointerException在访问" ActionBar如何删除/隐藏标题栏" 时会得到一个?请注意,我不是指操作栏的标题.我指的是操作栏上方的标题栏.我在Android 2.3设备上运行我的应用程序.

下面是我的代码:(我的课程延伸SherlockFragmentActivity.)

super.onCreate(savedInstanceState);
setTheme(R.style.Theme_Sherlock);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
ActionBar actionbar = getSupportActionBar();
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); //I get the NullPointerException here.

//...

setContentView(R.layout.tab_navigation);
Run Code Online (Sandbox Code Playgroud)

Raz*_*oco 33

我通过添加以下代码行来隐藏标题栏:

getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayShowHomeEnabled(false);
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助 :)


Kha*_*vic 18

隐藏所有标题栏并仅保留操作栏使用此代码:

final ActionBar actionBar = getActionBar();
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayUseLogoEnabled(false);
Run Code Online (Sandbox Code Playgroud)

它对我有用


Bha*_*ker 8

我正在为此寻找答案.找到一个解决方案

actionBar = getActionBar();
actionBar.hide();
Run Code Online (Sandbox Code Playgroud)

上面的代码片段将删除标签标题和滑块.希望能帮助到你.


Arc*_*rci 4

在此找到了解决方案。如果您在 上声明主题AndroidManifest.xml,标题栏将自行消失。尽管如此,我不明白为什么它只能在代码上声明AndroidManifest.xml而不是在代码上声明时才有效。

NullPointerException 的原因是它与更高版本(ICS 和更高版本)ActionBar同义。TitleBar通过使用兼容性库ActionBarSherlock,隐藏TitleBar也意味着隐藏ActionBar.

以下是如何将应用程序设置为使用 Sherlock 的主题:(您应该将其添加到应用程序的标签上)

android:theme="@style/Theme.Sherlock"
Run Code Online (Sandbox Code Playgroud)

如果您知道如何隐藏代码上的标题栏,请随时修改我的答案以包含您的答案。如果有人能解释为什么它只适用于清单文件而不适用于代码,那就太好了。:)