Xamarin.Nativeの場合
MainActivity.csに以下を追加
var systemUiFlags = SystemUiFlags.LayoutStable | SystemUiFlags.LayoutHideNavigation | SystemUiFlags.LayoutFullscreen | SystemUiFlags.HideNavigation | SystemUiFlags.Fullscreen | SystemUiFlags.ImmersiveSticky; Window.DecorView.SystemUiVisibility = (StatusBarVisibility)(int)systemUiFlags;
Xamarin.Formsの場合
Android 4.4以下はNativeと同じでいいんですけど、Android 5以降はなぜかステータスバーの内容だけ消えて表示領域が取り残される謎状態になります。
対応としてはbase.OnCreateのあとに以下を追加します。
if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) { this.Window.AddFlags(WindowManagerFlags.Fullscreen); this.Window.AddFlags(WindowManagerFlags.KeepScreenOn); }
OnCreate全体を見るとこんな感じ
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) { this.Window.AddFlags(WindowManagerFlags.Fullscreen); this.Window.AddFlags(WindowManagerFlags.KeepScreenOn); } global::Xamarin.Forms.Forms.Init(this, bundle); LoadApplication(new App()); var systemUiFlags = SystemUiFlags.LayoutStable | SystemUiFlags.LayoutHideNavigation | SystemUiFlags.LayoutFullscreen | SystemUiFlags.HideNavigation | SystemUiFlags.Fullscreen | SystemUiFlags.ImmersiveSticky; Window.DecorView.SystemUiVisibility = (StatusBarVisibility)(int)systemUiFlags; }