启动App时获取屏幕宽高
App.cs里面添加:
public static double ScreenWidth;
public static double ScreenHeight;
Android下 MainActivity.cs里面添加:
protected override void OnCreate(Bundle bundle)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
var width = Resources.DisplayMetrics.WidthPixels;
var height = Resources.DisplayMetrics.HeightPixels;
var density = Resources.DisplayMetrics.Density; //屏幕密度
App.ScreenWidth = width / density; //屏幕宽度
App.ScreenHeight = height / density; //屏幕高度 含24个单位的标题栏高度 通过OnSizeAllocated获取的高度不含标题栏高度
LoadApplication(new App());
}
IOS下 AppDelegate.cs里面添加:
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
global::Xamarin.Forms.Forms.Init();
App.ScreenWidth = UIScreen.MainScreen.Bounds.Width; //屏幕宽度
App.ScreenHeight = UIScreen.MainScreen.Bounds.Height; //屏幕高度
LoadApplication(new App());
return base.FinishedLaunching(app, options);
}