最新的三星智能手机有一个名为全屏的有趣功能(或在营销方面无限显示)。在这种模式下,app还会显示主页/后退按钮的显示部分。通常的应用程序不会覆盖此区域,使其变黑。但三星的本土产品涵盖了这一领域。
问题:如何实现这种效果?我的意思是我应该使用什么样的清单声明或程序化调用(可能是三星的遗留API)?
答案 0 :(得分:31)
要启用新的三星Galaxy S8和LG G6全屏支持,请添加到<application>
元素下的AndroidManifest.xml:
<meta-data android:name="android.max_aspect" android:value="2.1" />
2.1的值是宽高比18.5:9(默认情况下,您的应用默认为16:9 - 1.86的最大比率)。更多信息请参阅:Android Blog。
或者,您可以为“应用程序”或“活动”设置以下属性:
android:resizeableActivity="true"
因为文件说明(link):
如果是活动,则无需设置最大宽高比 android:resizeableActivity属性设置为true。如果你的应用程序 目标API级别24或更高,此属性默认为true。
答案 1 :(得分: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);
}
}
答案 2 :(得分:-5)
可以关闭它。我将本教程用于我的S8