机器人:主题=“@安卓风格/ Theme.NoTitleBar.Fullscreen”工作在应用层

2019-06-23 12:42发布

我需要让我的活动称为一个MyNoStatusBarActivity.java全屏活动。

我已经在清单中加入:

<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>

而在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);
}

做这一切只是隐藏标题栏,而不是状态栏。

另外,如果我用清单主题在应用层,而不是我的活动,它的工作原理但它不是我想要的我的应用程序的所有活动。 我只想要一个特别的活动没有状态栏。

帮助将非常感激。 日Thnx!

PS:我确定是这种行为不再蜂窝/ ICS可用。 我需要这只是2.2和2.3

编辑

试图在其他解决方案中提到SO,但没有成功,但所有的建议。 当应用到应用层面,但不是活动水平题材的作品。

我使用的HTC野火-S的Android 2.3.5版本

Answer 1:

在你的清单XML,在应用层面把这个:

<application
    ...
    android:theme="@android:style/Theme.NoTitleBar" >
</application>

并且在你想全屏把这个活动:

<activity

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

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



Answer 2:

我认为你需要采取的android:theme="@android:style/Theme.NoTitleBar.Fullscreen出mainfest的,坚持使用代码只调用,它总是为我工作,你使用的是哪种检测设备?

另外,还要确保这些电话来打电话到之前 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文件。 因为它听起来像在应用层次上声明这是工作(因为它覆盖任何后续主题的声明),但也有一些是压倒一切的活动水平的要求。

尝试搜索整个项目为“安卓主题”,并删除任何东西,你是不是100%确定你需要,测试它的方式



Answer 3:

我把这个在我的活动:

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

而在我的表现,我不修改,这是我的,无需修改:

android:theme="@style/AppTheme"

在我activty XML:

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


Answer 4:

这将这样的伎俩:

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);
}


Answer 5:

这将解决您的问题

只需在您的清单@android改变:风格......对@风格/ ..

<application
    ...
    android:theme="@style/Theme.AppCompat.NoActionBar">
    ...
</application>


文章来源: android:theme=“@android:style/Theme.NoTitleBar.Fullscreen” works on Application level but not at the activity level. Any clue?