最新的三星智能手机具有有趣的功能,称为全屏(或营销术语无限显示)。在这种模式下,应用程序还涵盖了主页/返回按钮所在的显示部分。通常的应用程序不覆盖该区域,使其保持黑色。但三星的本土产品涵盖了这一领域。
问题:如何达到这个效果?我的意思是我应该使用什么样的清单声明或程序调用(可能是三星的遗留 API)?
最新的三星智能手机具有有趣的功能,称为全屏(或营销术语无限显示)。在这种模式下,应用程序还涵盖了主页/返回按钮所在的显示部分。通常的应用程序不覆盖该区域,使其保持黑色。但三星的本土产品涵盖了这一领域。
问题:如何达到这个效果?我的意思是我应该使用什么样的清单声明或程序调用(可能是三星的遗留 API)?
要启用新的三星 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。
要获得全屏,您必须覆盖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);
}
}
它可以关闭。我将本教程用于我的 S8