36

我必须在之前和现在从 AppcompatActivity 中使用主题 Theme.AppCompat.Light.Dialog 从 ActionBarActivity 扩展我的 Activity,因为我的 Base Activity 扩展了这个。

但是现在有了新的 appcompat v7 (v22) 库,我的 Activity 开始显示标题栏,尽管我使用自定义样式和项目 windowActionBar=false,android:windowNoTitle=true。但是直到 appcompat 库升级没有这样的问题,标题栏没有显示。

如果我的活动扩展了 FragmentActivity 一切正常,并且我知道我可能使用了我的对话活动从 AppcompatActivity 扩展的错误模式,但我想知道有没有办法删除标题栏?

4

9 回答 9

70

我有同样的问题,需要做类似以下的事情来解决(注意使用“windowNoTitle”而不是“android:windowNoTitle”)

<style name="Theme.MyDialog" parent="@style/Theme.AppCompat.Light.Dialog">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>
于 2015-07-02T11:57:42.347 回答
17

尝试

  getSupportActionBar().hide() 

如果您使用的是 AppCompatActivity

 getActionBar().hide() 

如果您的活动扩展了 ActionBarActivity。希望能帮助到你。

于 2016-01-15T03:03:07.900 回答
16

您可以通过调用在运行时隐藏操作栏hide()。例如:

ActionBar actionBar = getSupportActionBar();
actionBar.hide();
于 2015-06-10T03:38:26.193 回答
12

AppCompat 主题中只有一件事有效 - supportRequestWindowFeature(Window.FEATURE_NO_TITLE);

于 2016-08-04T20:07:26.633 回答
9

为了解决类扩展 AppCompatActivity 上的操作栏,我从 style.xml 文件中的主主题定义新主题扩展开始:

样式.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

并在 AndroidManifest.xml 中为您想要的活动实现 noactionbar 主题。希望这有帮助:)

于 2016-03-18T07:23:57.710 回答
8

如果您使用支持库,请使用:

getSupportActionBar().setDisplayShowTitleEnabled(false);

如果没有,那么使用

getActionBar().setDisplayShowTitleEnabled(false);
于 2015-07-08T16:00:37.863 回答
0

在我的情况下,添加android:theme="@style/AppTheme.NoActionBar"就可以了。AndroidManifest.xml

@Brexx Galangue 解决方案给了我以下运行时错误:

java.lang.RuntimeException:无法启动活动
原因:java.lang.IllegalStateException:您需要在此活动中使用 Theme.AppCompat 主题(或后代)。

于 2016-03-03T15:48:16.703 回答
-1

尝试将此代码添加到您的清单中,特别是添加到您想要消失的活动中Actionbar

android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >

希望它有所帮助:D

于 2015-06-10T03:15:21.880 回答
-1
 public class MainActivity extends AppCompatActivity {

  @Override protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
     getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
     getSupportActionBar().setCustomView(R.layout.custom_title_bar);

  }  
}
于 2017-12-14T04:49:06.083 回答