仅为一个隐藏 ActionBar 标题 activity

Hide ActionBar title just for one activity

如果我为整个应用程序应用主题,它会成功隐藏 ActionBar 标题:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/ActionBarStyle</item>
</style>

<style name="ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar.Solid">
    <item name="android:displayOptions">showHome|useLogo</item>
</style>
</resources>

在清单中分配:

    <application
    android:name="myapp"
    android:allowBackup="true"
    android:icon="@drawable/action_bar_icon"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

我需要隐藏在 一个 activity.

中的 ActionBar 标题
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="@android:style/Theme.Holo.Light">
 ...other things...
</style>

<style name="MainActivityTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/ActionBarStyle</item>
</style>

<style name="ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar.Solid">
    <item name="android:displayOptions">showHome|useLogo</item>
</style>
</resources>

明确为一个人设置此主题activity:

<LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   tools:context=".MainActivity"
   android:id="@+id/mainLayout"
   android:orientation="vertical"
   android:theme="@style/MainActivityTheme">

它仍然在 MainActivity ActionBar 中显示标题。我知道如何在 java 中隐藏标题,我需要知道我在 XML 中做错了什么。

在您的 activity 清单中设置主题。

<activity
    android:name=".MyActivity"
    android:theme="@style/MainActivityTheme" />

您可能想创建一个隐藏操作栏的子主题:

<style name="AppTheme.NoActionBar">
    <item name="android:windowActionBar">false</item>
</style>

然后将其应用到清单中的 activity,如下所示:

<activity android:name="NonActionBarActivity"
          android:theme="@style/AppTheme.NoActionBar" />

使用点符号 (AppTheme.NoActionBar) 使此 NoActionBar 主题继承 AppTheme 的所有内容并覆盖 android:windowActionBar 上的设置。如果您愿意,可以明确注明父级:

<style name="AppThemeWithoutActionBar" parent="AppTheme">
    <item name="android:windowActionBar">false</item>
</style>

此外,如果您使用的是 AppCompat 库,您可能希望向子主题添加一个无命名空间的版本。

    <item name="windowActionBar">false</item>

如果您想删除 actionbar title,那么只需从 manifest 文件的 <activity> 标签中 删除 label 属性。

例如,

<activity
        android:name=".YourActivityName"
        android:label="@string/title" />

删除后,

<activity
        android:name=".YourActivityName" />

完成!