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;
}
}