我正在尝试制作一个在横向上完全全屏的活动,并在纵向上显示状态栏和导航按钮。我必须能够以编程方式执行此操作。
这就是我尝试使应用程序全屏显示的方式。
private void hideNavigationAndStatusBars(){
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); // these work only on API 21 and above
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
}
问题如下:
- 在某些设备上,我在屏幕顶部有一个空白部分,它等于状态栏的高度,即使状态栏没有显示
- 在其他设备上,活动填满了整个屏幕,但是当我单击任何内容时,会出现状态栏和导航栏,它们会调整布局大小,看起来很丑
我想要达到的目标:
活动应该以横向填充整个屏幕,位于状态栏和导航栏的后面(如果它们出现)
当用户点击屏幕时,他/她应该与屏幕进行交互。相反,第一次单击会显示状态和导航栏,并且只有在此之后才能进行交互
状态栏应该只在用户从顶部拖动时出现