在android項目里,這樣設置
using System; using Android.App; using Android.Content.PM; using Android.Runtime; using Android.Views; using Android.Widget; using Android.OS; namespace Doubi.Droid { [Activity(Label = "Doubi", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity { protected override void OnCreate(Bundle bundle) { TabLayoutResource = Resource.Layout.Tabbar; ToolbarResource = Resource.Layout.Toolbar; var uiOpts = SystemUiFlags.LayoutStable | SystemUiFlags.LayoutFullscreen; //LayoutStable表示布局穩定,不隨其他變動而變動 //LayoutFullscreen表示把布局拓寬到全屏幕 Window.DecorView.SystemUiVisibility = (StatusBarVisibility)uiOpts; //把標題欄設置為透明色 Window.SetStatusBarColor(Android.Graphics.Color.Argb(0,0,0,0)); base.OnCreate(bundle); Doubi.KLineView.Density = Resources.DisplayMetrics.Density; global::Xamarin.Forms.Forms.Init(this, bundle); LoadApplication(new App()); } } }
更多UIFlag的說明:
Flag | 意義 |
---|---|
SYSTEM_UI_FLAG_LOW_PROFILE | 弱化狀態欄和導航欄的圖標 |
SYSTEM_UI_FLAG_HIDE_NAVIGATION | 隱藏導航欄,用戶點擊屏幕會顯示導航欄 |
SYSTEM_UI_FLAG_FULLSCREEN | 隱藏狀態欄 |
SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | 拓展布局到導航欄后面 |
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | 拓展布局到狀態欄后面 |
SYSTEM_UI_FLAG_LAYOUT_STABLE | 穩定的布局,不會隨系統欄的隱藏、顯示而變化 |
SYSTEM_UI_FLAG_IMMERSIVE | 沉浸模式,用戶可以交互的界面 |
SYSTEM_UI_FLAG_IMMERSIVE_STICKY | 沉浸模式,用戶可以交互的界面。同時,用戶上下拉系統欄時,會自動隱藏系統欄 |