三星银河S8全屏模式
2022-09-02 12:37:50
最新的三星智能手机具有称为全屏(或营销术语无限显示)的有趣功能。在此模式下,应用程序还涵盖了主页/后退按钮所在的部分显示。通常的应用程序不会覆盖此区域,而是将其保留为黑色。但三星的原生产品覆盖了这一领域。
问:如何达到这个效果?我的意思是我应该使用哪种清单声明或编程调用(可能是三星的旧版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:resizeableActivity="true"
因为文档指出(链接):
如果活动的 android:resizeableActivity 属性设置为 true,则无需设置最大纵横比。如果您的应用以 API 级别 24 或更高版本为目标,则此属性默认为 true。
要获得全屏,您必须覆盖windowFocusChanged方法并创建装饰视图对象并在其中添加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);
}
}