using System;
|
using UIKit;
|
|
namespace Shared
|
{
|
/// <summary>
|
/// UI处理类
|
/// </summary>
|
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;
|
}
|
}
|
/// <summary>
|
/// 获取实际的高度
|
/// </summary>
|
/// <returns>The real height.</returns>
|
/// <param name="height">Height.</param>
|
public static int GetRealHeight(int height)
|
{
|
return (int)(height / HeightScale);
|
}
|
|
/// <summary>
|
/// 默认的字体大小
|
/// </summary>
|
public static int FontSize = 18;
|
|
/// <summary>
|
/// 获取实际的宽度
|
/// </summary>
|
/// <returns>The real width.</returns>
|
/// <param name="width">Width.</param>
|
public static int GetRealWidth(int width)
|
{
|
return (int)(width / WidthScale);
|
}
|
|
public static void HideSoftInput()
|
{
|
if (Shared.EditText.Instance != null)
|
{
|
Shared.EditText.Instance.Foucs = false;
|
}
|
}
|
|
/// <summary>
|
/// 当前设备类型
|
/// </summary>
|
public static readonly Device DeviceType = Device.Ios;
|
|
/// <summary>
|
/// 获取最小比例的实际值
|
/// </summary>
|
/// <returns>The minimum real.</returns>
|
/// <param name="widthOrHeight">Width or height.</param>
|
public static int GetMinReal(int widthOrHeight)
|
{
|
return (int)(widthOrHeight / MinScale);
|
}
|
|
/// <summary>
|
/// 获取平均实际值
|
/// </summary>
|
/// <returns>The minimum real average.</returns>
|
/// <param name="widthOrHeight">Width or height.</param>
|
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);
|
//});
|
}
|
}
|
|
|
|
/// <summary>
|
/// 当前设备的宽度
|
/// </summary>
|
public static int CurrentWidth;
|
/// <summary>
|
/// 当前设备的高度
|
/// </summary>
|
public static int CurrentHeight;
|
|
|
/// <summary>
|
/// 宽度比例
|
/// </summary>
|
/// <value>The width scale.</value>
|
public static float WidthScale
|
{
|
get
|
{
|
return DesignWidth * 1.0f / CurrentWidth;
|
}
|
}
|
|
/// <summary>
|
/// 高度比例
|
/// </summary>
|
/// <value>The height scale.</value>
|
public static float HeightScale
|
{
|
get
|
{
|
//return Application.CurrentHeight / bigsize;
|
return DesignHeight * 1.0f / CurrentHeight;
|
}
|
}
|
|
/// <summary>
|
/// 最小比例
|
/// </summary>
|
/// <value>The minimum scale.</value>
|
public static float MinScale
|
{
|
get
|
{
|
return WidthScale < HeightScale ? WidthScale : HeightScale;
|
}
|
}
|
|
/// <summary>
|
/// 平均比例
|
/// </summary>
|
/// <value>The average scale.</value>
|
public static float AverageScale
|
{
|
get
|
{
|
return (WidthScale + HeightScale)/2;
|
}
|
}
|
|
|
/// <summary>
|
/// 设计宽度
|
/// </summary>
|
public static int DesignWidth=1920;
|
/// <summary>
|
/// 设计高度
|
/// </summary>
|
public static int DesignHeight=1136;
|
|
|
// CoreGraphics.CGRect screenRect = [[UIScreen mainScreen] bounds];
|
//CoreGraphics.CGSize screenSize = screenRect.size;
|
|
|
/// <summary>
|
/// 当前主页
|
/// </summary>
|
/// <value>The main page.</value>
|
public static Shared.FrameLayout MainPage
|
{
|
get;
|
private set;
|
}
|
|
static int mainThreadId;
|
static UIView rootFrameLayout;
|
/// <summary>
|
/// 根容器视图
|
/// </summary>
|
/// <value>The root frame layout.</value>
|
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();
|
}
|
}
|
|
/// <summary>
|
/// 数据文件根目录
|
/// </summary>
|
/// <value>The root path.</value>
|
public static string RootPath=System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal)+"/";
|
|
/// <summary>
|
/// 图片的根目录
|
/// </summary>
|
/// <value>The root path image.</value>
|
public static string RootPathImage
|
{
|
get
|
{
|
return RootPath + "Phone/";
|
}
|
}
|
|
/// <summary>
|
/// 是否是pad
|
/// </summary>
|
public static bool IsPad {
|
get {
|
return false;
|
//return UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Pad;
|
}
|
}
|
|
|
/// <summary>
|
/// 皮肤,null时表示用默认的
|
/// </summary>
|
public static string Skin;
|
/// <summary>
|
/// GPS位置变化事件
|
/// </summary>
|
public static Action<double, double> LocationAction;
|
}
|
}
|