19

最新的三星智能手机具有有趣的功能,称为全屏(或营销术语无限显示)。在这种模式下,应用程序还涵盖了主页/返回按钮所在的显示部分。通常的应用程序不覆盖该区域,使其保持黑色。但三星的本土产品涵盖了这一领域。

问题:如何达到这个效果?我的意思是我应该使用什么样的清单声明或程序调用(可能是三星的遗留 API)?

4

3 回答 3

35

要启用新的三星 Galaxy S8 和 LG G6 全屏支持,请在 AndroidManifest.xml<application>元素下添加:

<meta-data android:name="android.max_aspect" android:value="2.1" />

其中 2.1 的值是纵横比 18.5:9(默认情况下,您的应用默认为 16:9 - 1.86 的最大比例)。更多信息请参见:Android 博客

或者,您可以为 Application 或 Activity 设置以下属性:

android:resizeableActivity="true"

因为文档说明(链接):

如果活动的 android:resizeableActivity 属性设置为 true,则不需要设置最大纵横比。如果您的应用面向 API 级别 24 或更高级别,则此属性默认为 true。

于 2017-06-05T13:31:01.853 回答
1

要获得全屏,您必须覆盖onWindowFocusChanged方法并创建decorView对象并将 System_UI 标志添加到其中。

@Override
    public  void onWindowFocusChanged(boolean  hasFocus){
        super.onWindowFocusChanged(hasFocus);
        View decorView = getWindow().getDecorView();
        if(hasFocus){

        decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                    |View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY  // this flag do=Semi-transparent bars temporarily appear and then hide again
                    |View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN  // Make Content Appear Behind the status  Bar
                    |View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION  // it Make Content Appear Behind the Navigation Bar
                    |View.SYSTEM_UI_FLAG_FULLSCREEN  // hide status bar
                    |View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
        }
    }
于 2017-04-29T11:31:41.683 回答
-5

它可以关闭。我将本教程用于我的 S8

如何在 Galaxy S8/S8+ 上启用全屏应用程序

于 2017-05-08T11:33:44.277 回答