【问题标题】:Android FullScreen Activity ProgrammaticallyAndroid FullScreen Activity 以编程方式
【发布时间】:2014-02-26 04:36:51
【问题描述】:

我知道我可以通过以下方式实现:

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

我有一个Settings Activity,用户可以在其中设置Fullscreen mode。当他回到Main Activity时,当然如果他勾选了Fullscreen,Activity必须恢复Fullscreen。

如何做到这一点?

感谢您的帮助。

【问题讨论】:

    标签: android


    【解决方案1】:

    因为你正在使用这个,它必须在 setContentView(int) 之前使用。我想在 onResume() 中尝试一下你的 getWindow().setFlags() 或者我提供一个链接,这可能对你的情况有所帮助。你可以在设置或删除之前设置条件。

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

    您可以将以下链接用于您的目的,这对于 android 4.4 或更低版本也是如此。Android 4.4(API 级别 19)为 setSystemUiVisibility() 引入了一个新的 SYSTEM_UI_FLAG_IMMERSIVE 标志,让您的应用真正“全屏”。对于较低通过设置您可以使用的标志,链接也有一些解决方法。

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

    对于删除标志,您还具有 clearFlag(),您可以在需要时添加它。

    【讨论】:

      【解决方案2】:

      也许您可以创建一个SharedPreferences (Reference - Storage Options) 来检查用户是否设置了Fullscreen mode,并在您返回Main Activity 时检查onStart or onRestart method's Activity

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

      希望你能得到预期的结果。

      【讨论】:

      • 嗨,这是我想做的,但我必须使用:requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);在 setContentView() 之前,这是真正的问题:(
      • 你可以回收活动吗?
      猜你喜欢
      • 2010-10-30
      • 1970-01-01
      • 2013-07-08
      • 2012-07-18
      • 2017-12-21
      • 2014-05-01
      • 1970-01-01
      • 2011-06-25
      • 2015-09-11
      相关资源
      最近更新 更多