2014-02-25 49 views
2

我知道我可以acheive与:Android的全屏活动编程

requestWindowFeature(Window.FEATURE_NO_TITLE); 
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
        WindowManager.LayoutParams.FLAG_FULLSCREEN); 

我有一个Settings Activity,用户可以在其中设置Fullscreen mode。当他回到Main Activity,当然如果他检查全屏,活动必须恢复全屏。

如何做到这一点?

感谢您的帮助。

回答

11

正如你用setContentView(int)之前必须使用的那样。我想尝试你的getWindow()。setFlags()在onResume()或者我给一个链接,这可能会帮助你的情况。我可以设置条件之前设置或删除这些。

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

您可以使用下面的链接,你的目的,这是做同样为Android 4.4或4.4 below.Android(API等级19)介绍了setSystemUiVisibility新SYSTEM_UI_FLAG_IMMERSIVE标志(),可以让您的应用程序去真正的“全屏幕。对于版本以及链接下可以通过设置标志的一些解决办法ü可以使用。

https://developer.android.com/samples/ImmersiveMode/src/com.example.android.immersivemode/ImmersiveModeFragment.html 

为删除标志ü也有clearFlag()这需要当u添加目的。

+1

谢谢.. clearFlag()帮我当我卡住.. !! –

2

也许你可以创建一个SharedPreferencesReference - Storage Options)检查,如果用户设置的Fullscreen mode,并检查这在onStart or onRestart method's Activity,当你回来的Main Activity

如果不起作用(您可以在这里看到:Updating SharedPrefereces on activity resume doesn't work),此答案可能会对您有所帮助:Call finish() when the Second Activity is lauched

希望你会有预期的结果。

+0

嗨,这是我会的喜欢做,但我必须使用: requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow()。setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);之前setContentView(),这是真正的问题:( –

+0

你可以回收活动? – Si8