在onCreate中设置全屏显示

8

我只能在onCreate方法(setContentView之前)中将我的Activity设置为全屏吗?

除了onCreate之外,有没有其他的方法可以将其设置为全屏?

谢谢


1
可能是Android全屏活动的重复问题? - Marek Sebera
看看Marek Sebera的评论和其中的链接...答案都给出了,可以编程和非编程两种方式实现。 - Navin Ilavarasan
你看到我的问题了吗?这个链接展示了如何在onCreate方法中实现,我想知道在onCreate之外怎么做。 - fsilvestre
Maxim,我的项目需要在onCreate之外设置全屏。我知道onCreate是正确的地方,但是是否可能在外部设置? - fsilvestre
好的,下次在解释时,请添加您正在执行特定操作并需要在之后执行它的说明。提供更多细节,包括您正在做什么以及发生了什么,这样可以更好地理解您确切的需求。无论如何,您的答案是通过代码设置全屏的标准方式。此外,如果您希望我或其他人在评论中阅读您的回复,请添加用户名,例如@UserName,然后我将收到通知。很高兴您解决了问题,干得好。 - Maxim
显示剩余2条评论
5个回答

12

可以!加入这段代码。

    // 进入全屏模式
    WindowManager.LayoutParams attrs = mActivity.getWindow().getAttributes();
    attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
    mActivity.getWindow().setAttributes(attrs);
// 退出全屏模式 WindowManager.LayoutParams attrs = mActivity.getWindow().getAttributes(); attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN); mActivity.getWindow().setAttributes(attrs);

2
Window.requestFeature的文档中写道:

这必须在调用 setContentView() 之前调用。

因此,在调用 setContentView 后设置全屏的另一种方法是不存在的。

如果你愿意的话,可以在onCreate之外第二次调用setContentView,只要你在请求全屏功能后调用它就可以了。请注意,这将使你对视图的任何引用无效,因此你需要为每个视图引用再次调用findViewByID - Martin Foot
Martin,我尝试在另一个方法中使用requestFeature()来设置全屏,并在下面的代码中再次调用setContentView,但是出现了异常:必须在添加内容之前调用requestFeature()。 - fsilvestre
你可以尝试在 onCreate不要 调用 setContentView,并且仅在需要调用 requestFeature 的位置之后才调用它,但是一旦你调用了 setContentView,以上规则就适用了。 - kabuko

0

试试这个:

View decorView = getWindow().getDecorView();

int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);

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

在设置布局之前使用此方法。因为您正在尝试将布局设置为全屏。为什么需要在onCreate方法之外呢?...


-1
@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

     **requestWindowFeature(Window.FEATURE_NO_TITLE);
     getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);**

     setContentView(R.layout.activity);

...
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接