Xamarin.android 如何删除Xamarin android中状态栏位置显示的空白
我正在尝试使用XamarinAndroid创建一个全屏模式(如视频播放器)应用程序。不幸的是,我被困在一个问题上,关于状态栏位置显示的空白 我在这里附上了关于我的问题的截图 聆听我的代码,关于Main活动:Xamarin.android 如何删除Xamarin android中状态栏位置显示的空白,xamarin.android,android-fullscreen,android-statusbar,Xamarin.android,Android Fullscreen,Android Statusbar,我正在尝试使用XamarinAndroid创建一个全屏模式(如视频播放器)应用程序。不幸的是,我被困在一个问题上,关于状态栏位置显示的空白 我在这里附上了关于我的问题的截图 聆听我的代码,关于Main活动: Window.SetFlags(WindowManagerFlags.Fullscreen, WindowManagerFlags.Fullscreen); Window.DecorView.SystemUiVisibility = (StatusBarVisibility)( Syste
Window.SetFlags(WindowManagerFlags.Fullscreen, WindowManagerFlags.Fullscreen);
Window.DecorView.SystemUiVisibility = (StatusBarVisibility)(
SystemUiFlags.LayoutStable |
SystemUiFlags.LayoutHideNavigation |
SystemUiFlags.LayoutFullscreen |
SystemUiFlags.HideNavigation |
SystemUiFlags.ImmersiveSticky |
SystemUiFlags.Fullscreen);
这是我的style.xml
:
<style name="MyTheme" parent="MyTheme.Base">
</style>
<style name="MyTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowBackground">@drawable/splashscreen</item>
</style>
真的
真的
@可抽出式/飞溅式挡风玻璃
我挣扎了好几天。。。
将其放入OnCreate方法(mainactivity.cs)
public class MainActivity : FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
this.Window.AddFlags(WindowManagerFlags.Fullscreen | WindowManagerFlags.TurnScreenOn);
if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
{
var stBarHeight = typeof(FormsAppCompatActivity).GetField("statusBarHeight", BindingFlags.Instance | BindingFlags.NonPublic) ?? typeof(FormsAppCompatActivity).GetField("_statusBarHeight", BindingFlags.Instance | BindingFlags.NonPublic);
stBarHeight?.SetValue(this, 0);
}
base.OnCreate(bundle);
Forms.Init(this, bundle);
LoadApplication(new App());
}
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
{
PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
}