【问题标题】:how to disable status bar or notification bar but not disable title bar in android?如何禁用状态栏或通知栏但不禁用android中的标题栏?
【发布时间】:2012-07-23 10:51:25
【问题描述】:

我想在 android 中禁用状态栏或通知栏。我使用android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 禁用它,但它也使我的标题栏也禁用。我怎样才能只禁用状态栏?

【问题讨论】:

    标签: android notifications statusbar titlebar


    【解决方案1】:

    在 onCreate 函数中使用以下代码创建一个基本活动,并每次都扩展该活动

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
    

    或者

    您可以在每个活动中使用上述代码,以使标题栏可见但状态栏不可见。

    编辑:请确保您没有在 Android 清单中定义任何主题。

    【讨论】:

    • 不起作用,兄弟。它与 Fullscreen 属性相同。它隐藏了一切。
    • 但标题栏仍然存在,状态栏不见了
    • 好吧,我尝试了您的解决方案,但没有显示任何解决方案。其他人可以提供任何反馈吗?
    • @YogeshSomani 查看屏幕截图,请检查您的清单是否有任何主题tinypic.com/view.php?pic=fcsm15&s=6
    • 是的,我在清单中定义了 android:theme="@android:style/Theme.Black.NoTitleBar"。我也试过全屏。没有工作。
    【解决方案2】:

    在清单中使用全屏主题,然后 您可以定义一个单独的布局,其中包含您的标题,然后在应用中的每个布局上使用 include 标签。

    【讨论】:

      【解决方案3】:

      这是一个非常好的教程,可以帮助您完成工作。

      Android – Hidding the status and title bar of your application

      或者看看这个

      如果您想隐藏它们,可以通过代码或“AndroidManifest.xml”中的主题设置来实现。

      要隐藏应用程序的标题栏,您可以使用预定义的样式 android:theme=”@android:style/Theme.NoTitleBar”。如果您还想隐藏应用程序的状态栏,请使用 android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”。例如在我的 Android 开发教程中:

      <?xml version="1.0" encoding="utf-8"?>
      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
            package="de.vogella.android.temperature"
            android:versionCode="1"
            android:versionName="1.0">
          <application android:icon="@drawable/icon" android:label="@string/app_name">
              <activity android:name=".Convert"
                        android:label="@string/app_name"
                         android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
                  <intent-filter>
                      <action android:name="android.intent.action.MAIN" />
                      <category android:name="android.intent.category.LAUNCHER" />
                  </intent-filter>
              </activity>
      
          </application>
          <uses-sdk android:minSdkVersion="9" />
      
      </manifest> 
      

      这肯定会对你有所帮助。

      谢谢:)

      【讨论】:

      • 如果我的回答对您有所帮助,请不要忘记接受我的回答,我们将不胜感激。谢谢:)
      【解决方案4】:
      1. 无标题栏无状态栏,显示全屏 Android(主要用于游戏)

      res->values->styles.xml:

      <?xml version="1.0" encoding="utf-8"?>
      <resources>
      <style name="AppBaseTheme" parent="android:Theme.NoTitleBar.Fullscreen">
              <!-- API 11 theme customizations can go here. -->
      </style>
      
      </resources>
      

      应用程序清单.xml:

      :
      :
      <application android:label="@string/app_name"
                       android:icon="@drawable/ic_launcher"
                       android:theme="@style/AppBaseTheme" 
                       >
      :
      :
      

      结果:全屏没有标题栏和状态栏

      1. 没有标题栏,只显示电话状态栏 相同的文件只需删除“.Fullscreen”

        res->values->styles.xml:

        <?xml version="1.0" encoding="utf-8"?>
        <resources>
        <style name="AppBaseTheme" parent="android:Theme.NoTitleBar">
                <!-- API 11 theme customizations can go here. -->
        </style>
        
        </resources>
        

      结果:它将只显示状态栏而没有完整的标题栏

      1. 显示状态栏和标题栏

      res->values->styles.xml:

       <style name="AppBaseTheme">
      

      结果:

      【讨论】:

        【解决方案5】:

        在你的清单文件中试试这个:

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

        【讨论】:

        • 他要保留标题栏
        • @Nunu 那么,安卓手机的状态栏是什么?
        • @SpK 状态栏表示顶部栏包含通知图标、网络信号图标等。
        • 好吧,我认为如果标题栏必须可见,那么状态栏将自动可见。
        • @AndroidCoader 我知道。用户@Nunu 告诉“他想保留标题栏”所以,用户应该使用android:theme="@android:style/Theme.NoTitleBar 来满足他所需的样式。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多