Android 隐藏活动的ActionBar(隐藏活动标题栏)

有些隐藏标题栏方法失效的原因是活动继承了AppCompatActivity而不是Activity。下面介绍如何隐藏标题栏。
(1)通用的方法:
在AndroidManifest.xml中需要隐藏标题栏的活动的属性中,定义主题为无ActionBar的主题即可,重点是NoActionBar。下面是例子:

<activity
    android:name=".Main2Activity"
    android:theme="@style/Theme.AppCompat.DayNight.NoActionBar">
activity>

(2)让整个程序的活动都隐藏标题栏(通用)
如果想让整个程序的活动都隐藏,修改res/values/styles,
将默认的DarkActionBar改为NoActionBar即可,styles文件的例子:

<resources>

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

resources>

(3)继承AppCompatActivity的活动的标题。
可以获取标题对象,然后选择显示或者隐藏。可将隐藏代码放在onCreate()方法的setContentView()之后。注意:如果使用了前两种方法(主题为NoActionBar),ActionBar对象就无法获取,actionBar.show()就会导致程序崩溃(因为actionBar=null)。

//获取标题栏对象
android.support.v7.app.ActionBar actionBar=getSupportActionBar();
        actionBar.hide();//隐藏标题栏
      //  actionBar.show();//显示标题栏

你可能感兴趣的:(android,小问题)