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

Vik*_*ngh 15 android statusbar android-manifest android-theme android-activity

我需要将我的一项活动称为MyNoStatusBarActivity.java全屏活动.

我在Manifest中添加了:

<activity
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
    android:name=".MyNoStatusBarActivity"
    android:noHistory="true"
    android:label="@string/app_name"
    android:configChanges="touchscreen|keyboard|keyboardHidden|navigation|orientation">
    ...
</activity>
Run Code Online (Sandbox Code Playgroud)

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);
}
Run Code Online (Sandbox Code Playgroud)

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

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

帮助将非常感激.日Thnx!

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

编辑

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

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

Neo*_*eoh 29

在您的清单xml中,在应用程序级别放置:

<application
    ...
    android:theme="@android:style/Theme.NoTitleBar" >
</application>
Run Code Online (Sandbox Code Playgroud)

并且在你要全屏显示的活动中放置:

<activity

     android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
     ...
</activity>
Run Code Online (Sandbox Code Playgroud)

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


Sam*_*low 6

我认为你只需要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);
Run Code Online (Sandbox Code Playgroud)

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

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