【问题标题】:How to remove white space displayed in the place of of status bar in Xamarin android如何删除Xamarin android中状态栏位置显示的空白
【发布时间】:2017-04-13 07:47:53
【问题描述】:

我正在尝试使用 Xamarin Android 创建一个全屏模式(如视频播放器)应用程序。不幸的是,我遇到了一个问题,关于在状态栏位置显示的空白。

我已在此处附上有关我的问题的屏幕截图。

在 MainActivity 上听听我的代码:

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>

【问题讨论】:

    标签: xamarin.android android-fullscreen android-statusbar


    【解决方案1】:

    我这几天都在苦苦挣扎…… 把它放在 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);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-30
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 2017-03-07
      • 1970-01-01
      • 1970-01-01
      • 2015-12-18
      相关资源
      最近更新 更多