using System; using UIKit; namespace Shared { /// /// UI处理类 /// public static class Application { public static double PhoneType { get { var type= UIDevice.CurrentDevice.SystemVersion.Split(new string[] { "." }, StringSplitOptions.None)[0]; double d = 1.0; double.TryParse(type, out d); return d; //if (device.Contains("iPhone11")) //{ // return 1.2; //} //else if (device.Contains("iPhone10")) //{ // return 1.1; //} //return 1.0; } } /// /// 获取实际的高度 /// /// The real height. /// Height. public static int GetRealHeight(int height) { return (int)(height / HeightScale); } /// /// 默认的字体大小 /// public static int FontSize = 18; /// /// 获取实际的宽度 /// /// The real width. /// Width. public static int GetRealWidth(int width) { return (int)(width / WidthScale); } public static void HideSoftInput() { if (Shared.EditText.Instance != null) { Shared.EditText.Instance.Foucs = false; } } /// /// 当前设备类型 /// public static readonly Device DeviceType = Device.Ios; /// /// 获取最小比例的实际值 /// /// The minimum real. /// Width or height. public static int GetMinReal(int widthOrHeight) { return (int)(widthOrHeight / MinScale); } /// /// 获取平均实际值 /// /// The minimum real average. /// Width or height. public static int GetMinRealAverage(int widthOrHeight) { return (int)(widthOrHeight / AverageScale); } public static void RunOnMainThread(Action action) { if (System.Threading.Thread.CurrentThread.ManagedThreadId == mainThreadId) { action (); } else { //System.Threading.Tasks.Task.Run (() => { RootFrameLayout.InvokeOnMainThread (action); //}); } } /// /// 当前设备的宽度 /// public static int CurrentWidth; /// /// 当前设备的高度 /// public static int CurrentHeight; /// /// 宽度比例 /// /// The width scale. public static float WidthScale { get { return DesignWidth * 1.0f / CurrentWidth; } } /// /// 高度比例 /// /// The height scale. public static float HeightScale { get { //return Application.CurrentHeight / bigsize; return DesignHeight * 1.0f / CurrentHeight; } } /// /// 最小比例 /// /// The minimum scale. public static float MinScale { get { return WidthScale < HeightScale ? WidthScale : HeightScale; } } /// /// 平均比例 /// /// The average scale. public static float AverageScale { get { return (WidthScale + HeightScale)/2; } } /// /// 设计宽度 /// public static int DesignWidth=1920; /// /// 设计高度 /// public static int DesignHeight=1136; // CoreGraphics.CGRect screenRect = [[UIScreen mainScreen] bounds]; //CoreGraphics.CGSize screenSize = screenRect.size; /// /// 当前主页 /// /// The main page. public static Shared.FrameLayout MainPage { get; private set; } static int mainThreadId; static UIView rootFrameLayout; /// /// 根容器视图 /// /// The root frame layout. public static UIView RootFrameLayout { get { return rootFrameLayout; } set { mainThreadId = System.Threading.Thread.CurrentThread.ManagedThreadId; rootFrameLayout = value; CurrentWidth = (int)value.Frame.Width; Console.WriteLine ("3========" + CurrentWidth); CurrentHeight = (int)value.Frame.Height; MainPage = new FrameLayout(value) { Width = (int)value.Frame.Width, Height = (int)value.Frame.Height, Parent = new RootView() { Width = (int)value.Frame.Width, Height = (int)value.Frame.Height } }; MainPage.Refresh(); } } /// /// 数据文件根目录 /// /// The root path. public static string RootPath=System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal)+"/"; /// /// 图片的根目录 /// /// The root path image. public static string RootPathImage { get { return RootPath + "Phone/"; } } /// /// 是否是pad /// public static bool IsPad { get { return false; //return UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Pad; } } /// /// 皮肤,null时表示用默认的 /// public static string Skin; /// /// GPS位置变化事件 /// public static Action LocationAction; } }