我正在使用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);
答案 0 :(得分:33)
我通过添加以下代码行来隐藏标题栏:
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayShowHomeEnabled(false);
希望这有助于:)
答案 1 :(得分:18)
隐藏所有标题栏并仅保留操作栏使用此代码:
final ActionBar actionBar = getActionBar();
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayUseLogoEnabled(false);
它对我有用
答案 2 :(得分:8)
我正在寻找答案。找到一个解决方案
actionBar = getActionBar();
actionBar.hide();
以上代码段将删除标签标题和滑块。希望它有所帮助。
答案 3 :(得分:4)
找到解决方案。如果您在AndroidManifest.xml
上声明主题,则标题栏会自行消失。虽然,我不知道为什么它仅在AndroidManifest.xml
上声明而不在代码上声明。
NullPointerException的原因是ActionBar
与更高版本(ICS和更新版本)上的TitleBar
同义。通过使用兼容性库和ActionBarSherlock
,隐藏TitleBar
也意味着隐藏ActionBar
。
以下是如何设置应用程序以使用Sherlock的主题:(您应该将其添加到应用程序的标签上)
android:theme="@style/Theme.Sherlock"
如果您知道如何在代码上隐藏标题栏,请随时修改我的答案以包含您的答案。如果有人能解释为什么它只适用于清单文件而不是代码,如果它会很好。 :)
答案 4 :(得分:1)
请参阅此答案,以语法方式显示/隐藏ActionBarSherlock中的titleBar ..
答案 5 :(得分:0)
Arci的回答并不完全正确。如果你阅读Theming documentation,你会发现:
主题应在整个应用程序的清单中定义,或者在每个活动的基础上定义。您还可以在调用
super.onCreate(Bundle)
之前在每个活动的代码中定义主题。必须对从“Sherlock”活动基类之一扩展的每个活动进行此操作,并打算使用操作栏。
换句话说,交换原始代码的前两行就足够了:
setTheme(R.style.Theme_Sherlock);
super.onCreate(savedInstanceState);
...
答案 6 :(得分:0)
我遇到了同样的问题。这些答案都不适用于我,我仍然可以看到在Actionbar加载之前显示的标题栏。
我必须在Manifest中将 Activity 主题设置为NoActionBar:
android:theme="@style/Theme.Sherlock.NoActionBar"
然后在setContentView()之前将主题设置回我的Activity:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(R.style.Theme_Custom);
setContentView(R.layout.activity_home);
}
这仍然加载了我的自定义主题,当活动加载时我不再看到标题栏的一瞥
答案 7 :(得分:0)
如果您使用的是Xamarin。你可以在下面使用。
ActionBar.Hide();
答案 8 :(得分:-2)
试一试:
setTheme(R.style.Theme_Sherlock_NoActionBar);
答案 9 :(得分:-2)
<activity android:name=".xxxxxActivity"
android:theme="@style/Theme.Sherlock.NoActionBar"/>