> 技术文档 > Android 中 隐藏状态栏、标题栏和导航栏的方法_android 隐藏状态栏

Android 中 隐藏状态栏、标题栏和导航栏的方法_android 隐藏状态栏


一、简介

Android 开发中,Activity 屏幕中存在状态栏、标题栏和导航栏,如下所示:

Android 中 隐藏状态栏、标题栏和导航栏的方法_android 隐藏状态栏

二、隐藏标题栏

1、通过代码隐藏

  • 对于继承自 AppCompatActivity 的 Activty,可在 onCreate() 方法中调用supportRequestWindowFeature 或 getSupportActionBar 方法来隐藏标题栏。
  • 采用 supportRequestWindowFeature 方法时,必须在调用 setContentView 方法之前调用。
  • 采用 getSupportActionBar 方法时,没有位置限制。
 override fun onCreate(savedInstanceState: Bundle?) {  super.onCreate(savedInstanceState) // 隐藏标题栏方法1,必须在 setContentView 方法之前调用 hideTitleBarBeforeSetContentView(this) setContentView(R.layout.activity_second) // 隐藏标题栏方法2, 调用位置没有限制  hideTitleBar(this) } /** * 隐藏标题栏,必须在 setContentView 方法之前调用 */ private fun hideTitleBarBeforeSetContentView(activity: AppCompatActivity) {  // 继承自 AppCompatActivity 的 activity activity.supportRequestWindowFeature(Window.FEATURE_NO_TITLE) // 普通 activity// activity.requestWindowFeature(Window.FEATURE_NO_TITLE) } /** * 隐藏标题栏,调用位置没有限制 */ private fun hideTitleBar(activity: AppCompatActivity) {  // 使用兼容库场景,在 API 7 及以上版本使用 activity.supportActionBar?.hide() // API 11 及以上使用,并且没有使用兼容库 activity.actionBar?.hide() }

2、通过主题隐藏

  • /res/values/themes.xml 中可自定义主题,并设置 windowFullscreen 字段为 true。
<style name=\"MyNoActionTheme\" parent=\"Theme.MaterialComponents.DayNight.NoActionBar\"> <item name=\"android:windowFullscreen\">true</item> </style>
  • AndroidManifest.xml 文件中,为 标签或特定 标签设置主题。
<application android:allowBackup=\"true\" android:dataExtractionRules=\"@xml/data_extraction_rules\" android:fullBackupContent=\"@xml/backup_rules\" android:icon=\"@mipmap/ic_launcher\" android:label=\"@string/app_name\" android:roundIcon=\"@mipmap/ic_launcher_round\" android:supportsRtl=\"true\" android:theme=\"@style/MyNoActionTheme\" tools:targetApi=\"31\"> ...... <activity android:name=\".SecondActivity\" android:theme=\"@style/MyNoActionTheme\"/> 

三、隐藏状态栏

1、通过代码隐藏