Android 3.2从操作栏中删除标题

时间:2012-02-17 10:10:49

标签: android

我正在使用eclipse,android 3.2。和运行android x86的虚拟机。 (V3.2)

我使用Holo主题,我想删除操作栏标题和图标。所以我做了

@Override
public void onCreate(Bundle savedInstanceState)
{
    ActionBar actionBar = getActionBar();
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setDisplayShowHomeEnabled(false);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.test);
}

它工作正常但是......

当应用程序启动时,我首先显示标题和图标,然后才看到它们消失。所以它不是很漂亮。

如果我使用debug,我只能在离开onCreate时才能看到setDisplayShowTitleEnabled生效。

那么有没有办法在显示活动之前隐藏标题和图标?

感谢。

2 个答案:

答案 0 :(得分:17)

在你的清单中

<activity android:name=".ActivityHere"
     android:label="">

答案 1 :(得分:9)

我通过在Android清单中设置“NoActionBar”全息主题然后在onCreate()中设置正常的全息主题来解决这个问题。

步骤1:在styles.xml中,添加了自定义主题资源。

<resources>
    <style name="ActionBar.CustomTheme" parent="@android:style/Widget.Holo.ActionBar"/>
    <style name="CustomTheme" parent="@android:style/Theme.Holo">
        <item name="android:actionBarStyle">@style/ActionBar.CustomTheme</item>
    </style>
</resources>

步骤2:在我的android清单文件中,我为应用程序设置了主题,并为启动活动设置了“NoActionBar”holo主题。

<application
  android:theme="@style/CustomTheme
  ...

<activity
  android:name="MainActivity"
  android:theme="@android:style/Theme.Holo.NoActionBar">
  ...

步骤3:在启动活动的onCreate()...

@Override
public void onCreate()(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setTheme(R.style.CustomTheme); // Set the custom theme which has the action bar.
    ActionBar actionBar = getActionBar();
    ...