隐藏状态栏的应用程序简历
本文关键字:应用程序 状态栏 隐藏 | 更新日期: 2023-09-27 18:02:11
我想在我的应用程序中隐藏状态栏。我正在使用c#和Xamarin来构建应用程序。
我有以下方法,我从活动OnCreate方法调用:
private void hideBars()
{
var decorView = this.Window.DecorView;
int uiOptions = (int)Android.Views.SystemUiFlags.LayoutStable |
(int)Android.Views.SystemUiFlags.LayoutHideNavigation |
(int)Android.Views.SystemUiFlags.Fullscreen |
(int)Android.Views.SystemUiFlags.ImmersiveSticky;
decorView.SystemUiVisibility = (Android.Views.StatusBarVisibility)uiOptions;
ActionBar.Hide();
}
这很好-当应用程序第一次加载时,状态栏是隐藏的,但可以按预期向下滑动。
如果我切换到另一个应用,然后恢复原来的应用,状态栏是可见的,软键盘也是可见的。我希望状态栏(和软键盘)是隐藏的简历,就像在创建。我有以下方法:
protected override void OnResume()
{
base.OnResume();
hideBars();
}
,但状态栏(和键盘)仍然出现在恢复应用程序。
我还需要做什么?
Window.AddFlags(WindowManagerFlags.Fullscreen);
Window.ClearFlags(WindowManagerFlags.ForceNotFullscreen);
这是来自android开发者关于粘性沉浸的文档
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);}
}