【发布时间】:2014-03-18 18:43:57
【问题描述】:
如何在启动屏幕等某些活动上隐藏 Android 操作栏?我试过改变主题,但它改变了整个应用程序的主题。也带我去一些可以帮助我的地方会很棒。
【问题讨论】:
如何在启动屏幕等某些活动上隐藏 Android 操作栏?我试过改变主题,但它改变了整个应用程序的主题。也带我去一些可以帮助我的地方会很棒。
【问题讨论】:
简单的方法是在AndroidManifest.xml 文件中将@android:style/Theme.Light.NoTitleBar 添加到您的活动中
<activity
android:name="com.package.Activity"
android:theme="@android:style/Theme.Light.NoTitleBar" >
或者你可以在你的活动onCreate函数中添加这一行
requestWindowFeature(Window.FEATURE_NO_TITLE)
还有第三种方法,它与第一种方法类似,但您可以创建自己的自定义主题并使用它,而不是使用预定义主题
在style.xml 这样的东西
<style name="AppBaseTheme" parent="android:Theme.Light">
<!-- this style parent may change by any defined theme you want -->
</style>
<style name="NoActionBarTheme" parent="AppBaseTheme">
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
并在AndroidManifest.xml中使用您的主题
<activity
android:name="com.package.Activity"
android:theme="@style/NoActionBarTheme" >
【讨论】:
将 NoActionbar 派生主题放在清单文件中的 activity 而不是 application 上
【讨论】:
在您的活动的 onCreate 中,在 setContentView(....) 之前添加这一行:
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
【讨论】:
在最新版本的文档中,我为 Android Kotlin 找到了这个:
private fun hideSystemBars() {
val windowInsetsController =
ViewCompat.getWindowInsetsController(window.decorView) ?: return
// Configure the behavior of the hidden system bars
windowInsetsController.systemBarsBehavior =
WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
// Hide both the status bar and the navigation bar
windowInsetsController.hide(WindowInsetsCompat.Type.systemBars())
}
【讨论】: