【问题标题】:Hide Android action bar?隐藏 Android 操作栏?
【发布时间】:2014-03-18 18:43:57
【问题描述】:

如何在启动屏幕等某些活动上隐藏 Android 操作栏?我试过改变主题,但它改变了整个应用程序的主题。也带我去一些可以帮助我的地方会很棒。

【问题讨论】:

    标签: java android xml


    【解决方案1】:

    简单的方法是在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" >
    

    【讨论】:

    • 请注意,如果您使用 xml 方法,这将强制您在清单 xml 中选择特定主题。
    • “第三种方式”最适合我。它保留了所有其他样式属性,只更改了菜单栏。
    【解决方案2】:

    将 NoActionbar 派生主题放在清单文件中的 activity 而不是 application

    【讨论】:

      【解决方案3】:

      在您的活动的 onCreate 中,在 setContentView(....) 之前添加这一行:

      this.requestWindowFeature(Window.FEATURE_NO_TITLE);
      

      【讨论】:

      • 这就是Java方式?
      【解决方案4】:

      在最新版本的文档中,我为 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())
      }
      

      https://developer.android.com/training/system-ui/immersive

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多