android:theme =“@ android:style / Theme.NoTitleBar.Fullscreen”适用于应用程序级别,但不适用于活动级别。 任何线索?

我需要将我的一项名为MyNoStatusBarActivity.java的活动作为全屏活动。

我在Manifest中添加了:

  ...  

在我的活动的onCreate

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); } 

这样做只是隐藏TITLE栏而不是STATUS栏。

此外,如果我在应用程序级别使用清单主题而不是我的活动,它可以工作,但我的应用程序的所有活动,这不是我想要的。 我想只为一个特定的活动禁止状态栏。

帮助将非常感激。 日Thnx!

PS:我很好,这种行为在Honeycomb / ICS中不再可用。 我只需要2.2和2.3就可以了

编辑

尝试了SO中其他解决方案中提到的所有建议但尚未成功。 应用于应用程序级别但不适用于活动级别时,主题可用。

我正在使用HTC WildFire-S,android ver 2.3.5

  • 如何删除应用程序栏上方的阴影?
  • 蜂窝主题* .NoActionBar或* .NoTitleBar - 哪里是菜单button?
  • 如何在应用程序运行时在状态栏中显示图标,包括在后台?
  • 当使用WindowManager.LayoutParams.TYPE_KEYGUARD时,最小目标必须小于14
  • 如何通过React NativefindAndroid状态栏的高度?
  • 使用windowTranslucentStatus和CollapsingToolbarLayout
  • Phonegap Cordova - 全屏后底部的黑色状态栏
  • 标签和半透明状态栏/导航为Android 4.4的麻烦
  • 在您的清单xml中,在应用程序级别放置:

       

    在你要全屏显示的活动中:

      ...  

    删除onCreate中的所有setWindowsFeature或setFlag方法。

    我认为你只需要把android:theme="@android:style/Theme.NoTitleBar.Fullscreen从主要android:theme="@android:style/Theme.NoTitleBar.Fullscreen拿出来,坚持使用代码只调用它,它总是对我android:theme="@android:style/Theme.NoTitleBar.Fullscreen 。你使用哪种测试设备?

    还要确保调用setContentView(R.layout.xxx) 之前调用这些调用

      super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.xxx); 

    检查所有代码的android:theme声明,即清单和单个布局xml文件。 因为它听起来像在应用程序级别声明它正在工作(因为它覆盖了任何后续主题声明)但是有一些事情覆盖了您的活动级别请求。

    尝试在整个项目中搜索“android:theme”并删除任何你不是100%确定需要的东西,以这种方式进行测试

    我把它放在我的活动中:

     requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_splash); 

    在我的清单中我不修改,这是我的,没有修改:

     android:theme="@style/AppTheme" 

    在我的activty xml中:

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

    这样就可以了:

     protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_main); } 

    这将解决您的问题

    只需更改你的清单@android:style … for @ style / ..

      ...