wxr
2024-10-23 47f179be722a61c95cc03c8f90e1aa91c12d1124
UI走查,安卓
6个文件已添加
3个文件已删除
36个文件已修改
13266 ■■■■ 已修改文件
DLL/Android/HdlEzvizDroid.dll 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/AgreementActivity.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Application.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/BEBAS.ttf 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/PvBgDischarge.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/PvBgDischargeBg.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/PvBgRun.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/PvBgRunBg.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/blue/CollectionIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/blue/TopViewBg.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/grey/CollectionIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/orange/CollectionIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/orange/TopViewBg.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/purple/CollectionIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/purple/TopViewBg.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/HDL-ON_Android.csproj 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Properties/AndroidManifest.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Resources/Resource.designer.cs 3788 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Resources/drawable/splash_background.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Resources/values/styles.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/SplashActivity.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/mono_crash.1cfb5decbf.0.json 845 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/mono_crash.1cfb5decbf.1.json 851 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/mono_crash.824c6d50c.0.json 7302 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/AppDelegate.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/HDL-ON_iOS.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/PvBgDischarge.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/PvBgDischargeBg.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/PvBgRun.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/PvBgRunBg.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/blue/CollectionIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/blue/TopViewBg.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/grey/CollectionIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/orange/CollectionIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/orange/TopViewBg.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/purple/CollectionIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/purple/TopViewBg.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/DriverLayer/Control_TcpClient.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI1-Login/LoginPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs 143 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoPage.cs 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Acst/WaterHeaterJinmaoPage.cs 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Acst/WetarHeaterJinmaoHistoryPage.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EchartsOption_Histogram.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DLL/Android/HdlEzvizDroid.dll
Binary files differ
HDL-ON_Android/AgreementActivity.cs
@@ -18,8 +18,9 @@
        {
            try
            {
                Console.WriteLine("xxxxxxxxxxxcccc");
                base.OnCreate(savedInstanceState);
                // Create your application here
                SetContentView(Resource.Layout.activity_splash);
@@ -66,10 +67,11 @@
                    SetResult(Result.Ok, Intent);
                    Finish();
                };
            }catch(Exception ex)
                Console.WriteLine("xxxxxxxxxxxcccc2");
            }
            catch (Exception ex)
            {
                Console.WriteLine("AgreementActivity----------------------------1"+ex.Message);
            }
        }
    }
HDL-ON_Android/Application.cs
@@ -36,7 +36,6 @@
        public Application(IntPtr handle, Android.Runtime.JniHandleOwnership ownerShip) : base(handle, ownerShip) { }
        public override void OnCreate()
        {
            if (Shared.Application.Activity != null)
            {
                //reStartApp(this);
HDL-ON_Android/Assets/BEBAS.ttf
Binary files differ
HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/PvBgDischarge.png

HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/PvBgDischargeBg.png
HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/PvBgRun.png

HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/Inverter/PvBgRunBg.png
HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/blue/CollectionIcon.png

HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/blue/TopViewBg.png

HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/grey/CollectionIcon.png

HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/orange/CollectionIcon.png

HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/orange/TopViewBg.png

HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/purple/CollectionIcon.png

HDL-ON_Android/Assets/Phone/FunctionIcon/Acst/purple/TopViewBg.png

HDL-ON_Android/HDL-ON_Android.csproj
@@ -189,9 +189,6 @@
    <Reference Include="Shared.Droid">
      <HintPath>..\DLL\Android\Shared.Droid.dll</HintPath>
    </Reference>
    <Reference Include="HdlEzvizDroid">
      <HintPath>..\DLL\Android\HdlEzvizDroid.dll</HintPath>
    </Reference>
    <Reference Include="Aliyun.Api.LogService">
      <HintPath>..\DLL\Aliyun.Api.LogService.dll</HintPath>
    </Reference>
@@ -203,6 +200,9 @@
    </Reference>
    <Reference Include="System.Net.Http">
      <HintPath>..\..\..\..\..\..\Library\Frameworks\Xamarin.Android.framework\Versions\13.2.2.0\lib\xamarin.android\xbuild-frameworks\MonoAndroid\v1.0\System.Net.Http.dll</HintPath>
    </Reference>
    <Reference Include="HdlEzvizDroid">
      <HintPath>..\DLL\Android\HdlEzvizDroid.dll</HintPath>
    </Reference>
  </ItemGroup>
  <ItemGroup>
@@ -672,6 +672,9 @@
    <AndroidAsset Include="Assets\Phone\Collection\TokenInvalidTipIcon.png" />
    <AndroidAsset Include="Assets\Phone\Public\RightIcon2.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\ArmSensor\Power80pIcon.png" />
    <AndroidAsset Include="Assets\BEBAS.ttf" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\Acst\Inverter\PvBgDischargeBg.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\Acst\Inverter\PvBgRunBg.png" />
  </ItemGroup>
  <ItemGroup>
    <AndroidResource Include="Resources\values\colors.xml" />
@@ -931,6 +934,10 @@
      <SubType></SubType>
      <Generator></Generator>
    </AndroidResource>
    <AndroidResource Include="Resources\drawable\splash_background.xml">
      <SubType></SubType>
      <Generator></Generator>
    </AndroidResource>
  </ItemGroup>
  <ItemGroup>
    <AndroidAsset Include="Assets\Phone\Public\MsgIcon\TipSuccessIcon.png" />
HDL-ON_Android/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.7.1" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202410171">
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.7.1" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202410231">
    <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <!--程序可以读取设备外部存储空间(内置SDcard和外置SDCard)的文件,我的文件等-->
HDL-ON_Android/Resources/Resource.designer.cs
Diff too large
HDL-ON_Android/Resources/drawable/splash_background.xml
New file
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <bitmap
            android:src="@drawable/loading"
            android:gravity="center"
            android:tileMode="disabled" />
    </item>
</layer-list>
HDL-ON_Android/Resources/values/styles.xml
@@ -2,7 +2,7 @@
<resources >
    <!-- 其中parent可以为 android:Theme 或 android:Theme.NoTitleBar; android:windowBackground可以为背景图 -->
    <style name="MyTheme" parent="@android:style/Theme.NoTitleBar.Fullscreen">
        <item name="android:windowBackground">@drawable/loading</item>
        <item name="android:windowBackground">@drawable/splash_background</item>
        <!-- 隐藏状态栏 -->
        <item name="android:windowFullscreen">false</item>
        <!-- 隐藏标题栏 -->
@@ -11,7 +11,7 @@
    </style>
    <style name="SplashTheme" parent="@android:style/Theme.NoTitleBar.Fullscreen">
        <item name="android:windowBackground">@drawable/loading</item>
        <item name="android:windowBackground">@drawable/splash_background</item>
        <!-- 隐藏状态栏 -->
        <item name="android:windowFullscreen">true</item>
        <!-- 隐藏标题栏 -->
@@ -49,7 +49,7 @@
        <item name="android:windowIsFloating">true</item>
    </style>
    <style name="MyTheme1" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowBackground">@drawable/Loading</item>
        <item name="android:windowBackground">@drawable/icon</item>
        <!-- 隐藏状态栏 -->
        <item name="android:windowFullscreen">false</item>
        <!-- 隐藏标题栏 -->
HDL-ON_Android/SplashActivity.cs
@@ -3,6 +3,7 @@
using Android.App;
using Android.Content;
using Android.Content.PM;
using Android.Graphics;
using Android.Locations;
using Android.Net;
using Android.OS;
@@ -44,7 +45,9 @@
        {
            base.OnCreate(savedInstanceState);
            if(Shared.Application.Activity != null && Shared.Application.Activity.GetType() == typeof(BaseActivity))
            if (Shared.Application.Activity != null && Shared.Application.Activity.GetType() == typeof(BaseActivity))
            {
                Finish();
                return;
HDL-ON_Android/mono_crash.1cfb5decbf.0.json
File was deleted
HDL-ON_Android/mono_crash.1cfb5decbf.1.json
File was deleted
HDL-ON_Android/mono_crash.824c6d50c.0.json
File was deleted
HDL-ON_iOS/AppDelegate.cs
@@ -268,19 +268,19 @@
        public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
        {
            #region 异常捕获 2023-07-27 17:37:04
            AppDomain.CurrentDomain.UnhandledException += (sender, e) => {
                if(e.ExceptionObject is Exception exception)
                {
                    MainPage.Log("error", "未处理的异常:" + exception.Message + "StackTrace: " + exception.StackTrace);
                }
            };
            //AppDomain.CurrentDomain.UnhandledException += (sender, e) => {
            //    if(e.ExceptionObject is Exception exception)
            //    {
            //        MainPage.Log("error", "未处理的异常:" + exception.Message + "StackTrace: " + exception.StackTrace);
            //    }
            //};
            TaskScheduler.UnobservedTaskException += (sender, e) => {
                if (e.Exception is Exception exception)
                {
                    MainPage.Log("error", "未处理的异常:" + exception.Message + "StackTrace: " + exception.StackTrace);
                }
            };
            //TaskScheduler.UnobservedTaskException += (sender, e) => {
            //    if (e.Exception is Exception exception)
            //    {
            //        MainPage.Log("error", "未处理的异常:" + exception.Message + "StackTrace: " + exception.StackTrace);
            //    }
            //};
            #endregion
HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -1851,6 +1851,8 @@
      <BundleResource Include="Resources\Phone\Public\RightIcon2.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\ArmSensor\Power80pIcon.png" />
      <BundleResource Include="Resources\BEBAS.ttf" />
      <BundleResource Include="Resources\Phone\FunctionIcon\Acst\Inverter\PvBgDischargeBg.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\Acst\Inverter\PvBgRunBg.png" />
    </ItemGroup>
    <ItemGroup>
      <ITunesArtwork Include="iTunesArtwork" />
HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/PvBgDischarge.png

HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/PvBgDischargeBg.png
HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/PvBgRun.png

HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/Inverter/PvBgRunBg.png
HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/blue/CollectionIcon.png

HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/blue/TopViewBg.png

HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/grey/CollectionIcon.png

HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/orange/CollectionIcon.png

HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/orange/TopViewBg.png

HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/purple/CollectionIcon.png

HDL-ON_iOS/Resources/Phone/FunctionIcon/Acst/purple/TopViewBg.png

HDL_ON/DAL/DriverLayer/Control_TcpClient.cs
@@ -130,7 +130,6 @@
        /// </summary>
        public void Connect()
        {
            return;
            lock (lockObj)
            {
                if (isConnected)
@@ -153,7 +152,6 @@
                                {
                                    try
                                    {
                                        //_tcpClient.ReceiveTimeout =
                                        _tcpClient.Connect(IPAddress.Parse(_ip), 8586);
                                        ReceiveMessage();//开启线程,不停接收消息
                                        isConnected = true;
@@ -165,8 +163,6 @@
                                }
                            }
                            Thread.Sleep(1000);
                        }
                    });
                    connectThread.Start();
@@ -225,10 +221,6 @@
        /// <param name="bytes">需要发送的字节</param>
        public void SendMessage(byte[] bytes)
        {
            return;
#if __IOS__
#endif
            if (heartBeatLogIdList.Count > 3)
            {
                try
@@ -271,7 +263,6 @@
        private DateTime heartBeatTime;
        public void HeartBeat()
        {
            return;
            lock (lockObj)
            {
                if (heartBeatThread == null)
@@ -373,12 +364,10 @@
                                    }
                                    var tcpDataString = System.Text.Encoding.UTF8.GetString(arrMsgRec, 0, arrMsgRec.Length);
                                    if (!string.IsNullOrEmpty(tcpDataString))
                                    {
                                        MainPage.Log($"局域网tcp数据接收");
                                        Control.Ins.ConvertReceiveData(arrMsgRec, null);
                                    }
                                }
                                catch (Exception) { }
@@ -388,7 +377,6 @@
                            MainPage.Log($"tcp ReceiveMessage error :{ex.Message}");
                        }
                    });
                    //receiveThread.IsBackground = true;
                    receiveThread.Start();
                }
                else
HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -313,7 +313,6 @@
                    //etAccount.Text = "13414984501";//吴晓聪
                    //etAccount.Text = "13682244600";
                    //etAccount.Text = "pjh@hdlchina.com.cn";
                    //etAccount.Text = "13580507523";//Test
                    //etAccount.Text = "18475593023";//Online
                    //etAccount.Text = "13960905167";
                    //etAccount.Text = "iot-en-public@hdlchina.com.cn";
@@ -321,6 +320,7 @@
                    //etAccount.Text = "support7@hdlautomation.com";
                    //etAccount.Text = "13106800613";
                    etAccount.Text = "15313316909";
                    //etAccount.Text = "13580507523";//Test
                }
                else
                {
HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
@@ -123,7 +123,7 @@
            //this.AddChidren(new Button() { Height = Application.GetRealHeight(50), BackgroundColor = curColor });
            contentView = new VerticalScrolViewLayoutJinmao()
            {
                Height = Application.GetRealHeight(667 - 56),
                Height = Application.GetRealHeight(667 - 56 -10),
                VerticalScrollBarEnabled = false,
            };
            basePage.AddChidren(contentView);
@@ -282,16 +282,16 @@
            #region 头部信息区域
            FrameLayout topView = new FrameLayout()
            {
                Height = Application.GetRealHeight(180),
                Height = Application.GetRealWidth(203),
                BackgroundImagePath = $"FunctionIcon/Acst/{imageFolder}/TopViewBg.png",
            };
            contentView.AddChidren(topView);
            var backView = new FrameLayout()
            {
                Y = Application.GetRealHeight(32),
                Y = Application.GetRealWidth(56),
                Width = Application.GetRealWidth(100),
                Height = Application.GetRealHeight(34),
                Height = Application.GetRealWidth(34),
            };
            topView.AddChidren(backView);
@@ -299,7 +299,7 @@
            {
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(12),
                Height = Application.GetRealHeight(20),
                Height = Application.GetRealWidth(20),
                UnSelectedImagePath = "FunctionIcon/Acst/BackIcon.png",
            };
            backView.AddChidren(btnBackIcon);
@@ -314,26 +314,25 @@
            var btnHelloText = new Button()
            {
                X = Application.GetRealWidth(25),
                Y = Application.GetRealHeight(55),
                X = Application.GetRealWidth(26),
                Y = Application.GetRealWidth(87),
                Width = Application.GetRealWidth(200),
                Height = Application.GetRealHeight(38),
                TextSize = 20,
                Height = Application.GetRealWidth(24),
                TextSize = 17,
                Text = helloText,
                TextColor = 0xFFFFFFFF,
                TextAlignment = TextAlignment.CenterLeft,
            };
            topView.AddChidren(btnHelloText);
            btnOutdoorTemp = new Button()
            {
                X = Application.GetRealWidth(25),
                Y = Application.GetRealHeight(90),
                X = Application.GetRealWidth(26),
                Y = Application.GetRealWidth(108),
                Width = Application.GetRealWidth(85),
                Height = Application.GetRealHeight(66),
                Height = Application.GetRealWidth(66),
                TextColor = 0xFFFFFFFF,
                TextSize = 50,
                TextSize = 44,
                TextAlignment = TextAlignment.TopLeft,
                Text = MainPage.cityInfo.temperature + "°"
            };
@@ -341,22 +340,21 @@
            btnWeather = new Button()
            {
                X = btnOutdoorTemp.Right,
                Y = Application.GetRealHeight(95),
                X = Application.GetRealWidth(105),
                Y = Application.GetRealWidth(118),
                Width = Application.GetRealWidth(80),
                Height = Application.GetRealHeight(26),
                Height = Application.GetRealWidth(18),
                Text = MainPage.cityInfo.weather,
                TextColor = 0xFFFFFFFF,
                TextSize = 14,
                TextSize = 12,
                TextAlignment = TextAlignment.CenterLeft,
            };
            topView.AddChidren(btnWeather);
            var environmentalView = new FrameLayout()
            {
                Y = Application.GetRealHeight(150),
                Height = Application.GetRealHeight(32),
                Y = Application.GetRealWidth(168),
                Height = Application.GetRealWidth(32),
            };
            topView.AddChidren(environmentalView);
@@ -364,8 +362,8 @@
            {
                X = Application.GetRealWidth(25),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                Width = Application.GetMinRealAverage(14),
                Height = Application.GetMinRealAverage(14),
                UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png",
            };
            environmentalView.AddChidren(btnHumidityIcon);
@@ -375,7 +373,7 @@
                X = btnHumidityIcon.Right + Application.GetRealWidth(4),
                Gravity = Gravity.CenterVertical,
                TextColor = 0xFFFFFFFF,
                TextSize = 16,
                TextSize = 13,
                Text = MainPage.cityInfo.humidity + "%",
                TextAlignment = TextAlignment.CenterLeft,
            };
@@ -386,8 +384,8 @@
            {
                X = btnHumidityValues.Right + Application.GetRealWidth(14),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                Width = Application.GetMinRealAverage(14),
                Height = Application.GetMinRealAverage(14),
                UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png",
            };
            environmentalView.AddChidren(btnPm25Icon);
@@ -397,7 +395,7 @@
                X = btnPm25Icon.Right + Application.GetRealWidth(4),
                Gravity = Gravity.CenterVertical,
                TextColor = 0xFFFFFFFF,
                TextSize = 16,
                TextSize = 13,
                Text = MainPage.cityInfo.pm25,
                TextAlignment = TextAlignment.CenterLeft,
            };
@@ -409,7 +407,7 @@
            contentView.AddChidren(new Button
            {
                Height = Application.GetRealHeight(8),
                Height = Application.GetRealWidth(8),
            });
            #region 数据
@@ -598,16 +596,16 @@
            var subTitleView = new FrameLayout()
            {
                Height = Application.GetRealHeight(54 - 11),
                Height = Application.GetRealWidth(56),
            };
            contentView.AddChidren(subTitleView);
            var btnCollection = new Button()
            {
                X = Application.GetRealWidth(6),
                Y = Application.GetRealHeight(10),
                Width = Application.GetRealWidth(39),
                Height = Application.GetRealWidth(39),
                X = Application.GetRealWidth(16),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetRealWidth(19),
                Height = Application.GetRealWidth(19),
                IsSelected = function.collect,
                UnSelectedImagePath = "FunctionIcon/Acst/grey/CollectionIcon.png",
                SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/CollectionIcon.png",
@@ -618,22 +616,19 @@
            {
                function.collect = !function.collect;
                btnCollection.IsSelected = function.collect;
                //var http = new DAL.Server.HttpServerRequest();
                //http.CollectDevice(function.deviceId);
                function.CollectFunction();
            };
            var btnTitleText2 = new Button()
            {
                X = btnCollection.Right,
                X = btnCollection.Right + Application.GetRealWidth(6),
                TextID = StringId.MyHome,
                TextSize = 16,
                TextColor = 0xFF242424,
                TextAlignment = TextAlignment.CenterLeft,
                IsBold = true,
                Height = Application.GetRealHeight(54),
                Height = Application.GetRealWidth(38),
                Gravity = Gravity.CenterVertical,
            };
            subTitleView.AddChidren(btnTitleText2);
@@ -641,19 +636,15 @@
            var subFunctionListView = new HorizontalScrolViewLayout()
            {
                Height = Application.GetRealHeight(88),
                Height = Application.GetRealWidth(72),
            };
            contentView.AddChidren(subFunctionListView);
            contentView.AddChidren(new Button { Height = Application.GetRealWidth(16) });
            subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(9) });
            new System.Threading.Thread(() =>
            {
                try
                {
#if DEBUG
                    System.Threading.Thread.Sleep(200);
#endif
                    var showList = FunctionList.List.GetAcstSubList();
                    showList.AddRange(FunctionList.List.GetWaterHeaterJinmaoList());
                    foreach (var sub in showList)
@@ -669,15 +660,18 @@
                            {
                                subFunctionListView = new HorizontalScrolViewLayout()
                                {
                                    Height = Application.GetRealHeight(93),
                                    Height = Application.GetRealWidth(72),
                                    ScrollEnabled = false,
                                };
                                contentView.AddChidren(subFunctionListView);
                                subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(9) });
                                contentView.AddChidren(new Button { Height = Application.GetRealWidth(16) });
                            }
                            subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(16) });
                            AcstSubControlView subFunctionView = new AcstSubControlView(sub, subFunctionListView, imageFolder);
                            subViewList.Add(sub.sid, subFunctionView);
                            if (basePage != null)
                            {
                                new System.Threading.Thread(() =>
@@ -700,6 +694,7 @@
            }).Start();
            #endregion
            #region 底部控制栏
            var bottomView = new FrameLayout()
            {
@@ -715,7 +710,7 @@
            btnModeControl = new Button()
            {
                X = Application.GetRealWidth(89),
                Gravity = Gravity.CenterVertical,
                Y = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(38),
                Height = Application.GetRealWidth(38),
                UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeCoolIcon2.png",
@@ -984,7 +979,8 @@
            btnPowerControl = new Button()
            {
                Gravity = Gravity.Center,
                Gravity = Gravity.CenterHorizontal,
                Y = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(38),
                Height = Application.GetRealWidth(38),
                UnSelectedImagePath = "FunctionIcon/Acst/grey/PowerOffIcon.png",
@@ -1013,7 +1009,7 @@
            btnWorkSceneControl = new Button()
            {
                Gravity = Gravity.CenterVertical,
                Y = Application.GetRealWidth(16),
                X = Application.GetRealWidth(249),
                Width = Application.GetRealWidth(38),
                Height = Application.GetRealWidth(38),
@@ -1286,31 +1282,34 @@
            var subFunctionView = new FrameLayout()
            {
                Width = Application.GetRealWidth(177),
                Height = Application.GetRealHeight(93),
                BackgroundImagePath = "FunctionIcon/Acst/grey/BgSubControlView.png",
                Width = Application.GetRealWidth(163),
                Height = Application.GetRealWidth(72),
                Radius = (uint)Application.GetRealWidth(6),
                BorderColor = 0x00FFFFFF,
                BorderWidth = (uint)Application.GetRealWidth(1),
                BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
                //BackgroundImagePath = "FunctionIcon/Acst/grey/BgSubControlView.png",
            };
            subFunctionListView.AddChidren(subFunctionView);
            var btnRoomInfo = new Button()
            {
                X = Application.GetRealWidth(18 + 7),
                Y = Application.GetRealHeight(11),
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(120),
                Height = Application.GetRealHeight(40),
                Height = Application.GetRealWidth(44),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = 0xFF1b3053,
                TextSize = 13,
                TextSize = 14,
                Text = sub.name,
            };
            subFunctionView.AddChidren(btnRoomInfo);
            var btnSubTempIcon = new Button()
            {
                X = Application.GetRealWidth(16 + 7),
                Y = Application.GetRealHeight(47 + 11),
                Width = Application.GetMinRealAverage(11),
                Height = Application.GetMinRealAverage(11),
                X = Application.GetRealWidth(13),
                Y = Application.GetRealWidth(48),
                Width = Application.GetRealWidth(12),
                Height = Application.GetRealWidth(12),
                UnSelectedImagePath = "FunctionIcon/CAC/HvacCacTempIcon.png",
            };
            subFunctionView.AddChidren(btnSubTempIcon);
@@ -1318,21 +1317,21 @@
            btnSubTempValues = new TextButton()
            {
                X = btnSubTempIcon.Right,
                Y = Application.GetRealHeight(45 + 11),
                Height = Application.GetRealHeight(14),
                Y = Application.GetRealWidth(46),
                Height = Application.GetRealWidth(15),
                Width = Application.GetRealWidth(35),
                TextColor = 0xFF1b3035,
                TextSize = 10,
                TextSize = 11,
                TextAlignment = TextAlignment.CenterLeft,
            };
            subFunctionView.AddChidren(btnSubTempValues);
            btnSubPower = new Button()
            {
                X = Application.GetRealWidth(121 + 7),
                X = Application.GetRealWidth(120),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetRealWidth(28),
                Height = Application.GetRealWidth(28),
                Width = Application.GetRealWidth(29),
                Height = Application.GetRealWidth(29),
                UnSelectedImagePath = "FunctionIcon/Acst/grey/PowerOffIcon.png",
                SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/PowerIcon.png",
                TextAlignment = TextAlignment.Center,
@@ -1353,9 +1352,9 @@
                Button btnSubHumidityIcon = new Button()
                {
                    X = btnSubTempValues.Right + Application.GetRealWidth(5),
                    Y = Application.GetRealHeight(47 + 11),
                    Width = Application.GetMinRealAverage(11),
                    Height = Application.GetMinRealAverage(11),
                    Y = Application.GetRealWidth(48),
                    Width = Application.GetRealWidth(12),
                    Height = Application.GetRealWidth(12),
                    UnSelectedImagePath = "FunctionIcon/CAC/HvacCacHumidityIcon.png",
                };
                subFunctionView.AddChidren(btnSubHumidityIcon);
@@ -1363,8 +1362,8 @@
                btnSubHumidityValues = new TextButton()
                {
                    X = btnSubHumidityIcon.Right,
                    Y = Application.GetRealHeight(45 + 11),
                    Height = Application.GetRealHeight(14),
                    Y = Application.GetRealWidth(46),
                    Height = Application.GetRealWidth(15),
                    Width = Application.GetRealWidth(35),
                    TextColor = 0xFF1b3053,
                    TextSize = 10,
HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs
@@ -63,10 +63,15 @@
            var contentView = new VerticalScrolViewLayout()
            {
                Y = Application.GetRealHeight(74 + 16),
                Y = Application.GetRealHeight(74),
                Height = Application.GetRealHeight(Application.DesignHeight - 74),
            };
            bodyView.AddChidren(contentView);
            contentView.AddChidren(new Button()
            {
                Height = Application.GetRealWidth(16)
            });
            #region 发电量
            infoView1 = new FrameLayout()
@@ -133,6 +138,9 @@
            };
            infoView1_DateView.AddChidren(infoView1_Date_Month);
#if __IOS__
            infoView1_DateView.AddChidren(new Button() { Width = Application.GetRealWidth(2) });
#endif
            infoView1_Date_Year = new Button()
            {
@@ -337,8 +345,9 @@
                IsSelected = false,
            };
            infoView2_DateView.AddChidren(infoView2_Date_Month);
#if __IOS__
            infoView2_DateView.AddChidren(new Button() { Width = Application.GetRealWidth(2)});
#endif
            infoView2_Date_Year = new Button()
            {
                Width = Application.GetRealWidth(103),
@@ -471,7 +480,6 @@
            #endregion
            contentView.AddChidren(new Button()
            {
@@ -985,7 +993,7 @@
                Radius = (uint)Application.GetRealWidth(12),
            };
            optionBaseView.AddChidren(topView);
            topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
            optionBaseView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
            var btnCancel = new Button()
            {
@@ -1000,7 +1008,7 @@
            var btnConfrim = new Button()
            {
                X = Application.GetRealWidth(160),
                X = Application.GetRealWidth(163),
                Width = Application.GetRealWidth(160),
                TextAlignment = TextAlignment.CenterRight,
                TextColor = CSS_Color.MainColor,
HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoPage.cs
@@ -120,6 +120,12 @@
        /// </summary>
        Button socialContribution_Info3_ValuesButton;
#if __ANDROID__
        private string fontName = "BEBAS.ttf";
#else
        private string fontName = "BEBAS";
#endif
        public InverterJinmaoPage()
        {
@@ -202,7 +208,7 @@
                TextColor = CSS_Color.MainBackgroundColor,
                TextSize = 18,
                IsBold = true,
                FontName = "BEBAS",
                FontName = fontName,
            };
            electricityGenerationView.AddChidren(pvGenerate_TodayValuesButton);
@@ -216,7 +222,7 @@
#endif
            pvGenerate_todayUintButton = new Button()
            {
                Y = Application.GetRealWidth(43),
                Y = Application.GetRealWidth(44),
                Height = Application.GetRealWidth(17),
                Text = "kwh",
                TextColor = CSS_Color.MainBackgroundColor,
@@ -235,7 +241,6 @@
                TextColor = CSS_Color.MainBackgroundColor,
                TextSize = 12,
                TextAlignment = TextAlignment.CenterLeft,
                //IsBold = true,
            };
            electricityGenerationView.AddChidren(pvGenerate_TotalValuesButton);
@@ -279,7 +284,7 @@
            loadEle_TodayUintButton = new Button()
            {
                Y = Application.GetRealWidth(43),
                Y = Application.GetRealWidth(45),
                Height = Application.GetRealWidth(17),
                Text = "kwh",
                TextColor = CSS_Color.MainBackgroundColor,
@@ -296,7 +301,7 @@
            pvLoad_TodayValuesButton = new Button()
            {
                X = Application.GetRealWidth(81 - 12) - loadEle_TodayUintButton.Width,
                X = Application.GetRealWidth(81 - 8) - loadEle_TodayUintButton.Width,
                Y = Application.GetRealWidth(34),
                Height = Application.GetRealWidth(53),
                Width = Application.GetRealWidth(100),
@@ -305,11 +310,11 @@
                TextSize = 18,
                TextAlignment = TextAlignment.TopRight,
                IsBold = true,
                FontName = "BEBAS",
                FontName = fontName,
            };
#if __IOS__
            pvLoad_TodayValuesButton.Y = Application.GetRealWidth(34);
            pvLoad_TodayValuesButton.X = Application.GetRealWidth(81 - 12) - loadEle_TodayUintButton.Width;
            pvLoad_TodayValuesButton.X = Application.GetRealWidth(81 - 8) - loadEle_TodayUintButton.Width;
#else
            pvLoad_TodayValuesButton.Y = Application.GetRealWidth(37);
            pvLoad_TodayValuesButton.X = Application.GetRealWidth(81 - 16) - loadEle_TodayUintButton.Width;
@@ -411,6 +416,7 @@
                Y = Application.GetRealWidth(20),
                Width = Application.GetRealWidth(151),
                Height = Application.GetRealWidth(151),
                BackgroundImagePath = "FunctionIcon/Acst/Inverter/PvBgRunBg.png"
            };
            pvEleGenerationInfoView.AddChidren(powerGenerationView);
@@ -465,7 +471,7 @@
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = 24,
                IsBold = true,
                FontName = "BEBAS",
                FontName = fontName,
            };
            powerGenerationView.AddChidren(pvPower_ValuesButton);
@@ -495,7 +501,7 @@
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = 18,
                IsBold = true,
                FontName = "BEBAS",
                FontName = fontName,
            };
            pvEleGenerationInfoView.AddChidren(pvGeneration_TodayValuesButton);
@@ -525,7 +531,7 @@
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = 18,
                IsBold = true,
                FontName = "BEBAS",
                FontName = fontName,
            };
            pvEleGenerationInfoView.AddChidren(pvGeneration_MonthValuesButton);
@@ -555,7 +561,7 @@
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = 18,
                IsBold = true,
                FontName = "BEBAS",
                FontName = fontName,
            };
            pvEleGenerationInfoView.AddChidren(pvGeneration_YearValuesButton);
@@ -646,6 +652,7 @@
                Y = Application.GetRealWidth(20),
                Width = Application.GetRealWidth(151),
                Height = Application.GetRealWidth(151),
                BackgroundImagePath = "FunctionIcon/Acst/Inverter/PvBgDischargeBg.png"
            };
            electricityUsageStatusView.AddChidren(powerUsageView);
@@ -696,7 +703,7 @@
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = 24,
                IsBold = true,
                FontName = "BEBAS",
                FontName = fontName,
            };
            powerUsageView.AddChidren(loadElec_ValuesButton);
@@ -725,7 +732,7 @@
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = 18,
                IsBold = true,
                FontName = "BEBAS",
                FontName = fontName,
            };
            electricityUsageStatusView.AddChidren(powerUsage_TodayValuesButton);
@@ -753,7 +760,7 @@
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = 18,
                IsBold = true,
                FontName = "BEBAS",
                FontName = fontName,
            };
            electricityUsageStatusView.AddChidren(loadElec_MonthValuesButton);
@@ -782,7 +789,7 @@
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = 18,
                IsBold = true,
                FontName = "BEBAS",
                FontName = fontName,
            };
            electricityUsageStatusView.AddChidren(powerUsage_YearValuesButton);
@@ -821,7 +828,10 @@
                            Application.RunOnMainThread(() =>
                            {
                                powerUsage_YearValuesButton.Text = totalValues.ToString();
                                powerUsage_YearValuesButton.TextSize=12;
                                if (powerUsage_YearValuesButton.Width < powerUsage_YearValuesButton.GetTextWidth())
                                {
                                    powerUsage_YearValuesButton.TextSize = 12;
                                }
                                //while (true)
                                //{
                                //    if (powerUsage_YearValuesButton.Width < powerUsage_YearValuesButton.GetTextWidth())
@@ -972,7 +982,7 @@
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = 24,
                    IsBold = true,
                FontName = "BEBAS",
                FontName = fontName,
                };
                esRunStatus_ChargeValuesView.AddChidren(esRunStatus_ChargeValuesButton);
@@ -1007,7 +1017,7 @@
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = 24,
                    IsBold = true,
                FontName = "BEBAS",
                FontName = fontName,
                };
                esRunStatus_DischargeValuesView.AddChidren(esRunStatus_DischargeValuesButton);
@@ -1076,37 +1086,41 @@
            };
            socialContribution_InfoView_1.AddChidren(socialContribution_Info1_IconButton);
            var socialContribution_Info1_ValuesView = new FrameLayout()
            {
                Y = Application.GetRealWidth(68),
                Height = Application.GetRealWidth(25),
            };
            socialContribution_InfoView_1.AddChidren(socialContribution_Info1_ValuesView);
            socialContribution_Info1_ValuesButton = new Button()
            {
                X = Application.GetRealWidth(12),
                Y = Application.GetRealWidth(68),
                //Y = Application.GetRealWidth(68),
                Width = Application.GetRealWidth(36),
                Height = Application.GetRealWidth(25),
                //Height = Application.GetRealWidth(25),
                Text = function.GetAttrState(InverterJinmao_AttrEnum.coal.ToString()),
                TextSize = 18,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextAlignment = TextAlignment.BottomLeft,
                IsBold = true,
                FontName = "BEBAS",
                FontName = fontName,
            };
            socialContribution_Info1_ValuesButton.Width = socialContribution_Info1_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
            socialContribution_InfoView_1.AddChidren(socialContribution_Info1_ValuesButton);
            socialContribution_Info1_ValuesView.AddChidren(socialContribution_Info1_ValuesButton);
            socialContribution_Info1_UintButton = new Button()
            {
                X = socialContribution_Info1_ValuesButton.Right - Application.GetRealWidth(4),
                Y = Application.GetRealWidth(68),
                //Y = Application.GetRealWidth(68),
                Width = Application.GetRealWidth(50),
                Height = Application.GetRealWidth(23),
                //Height = Application.GetRealWidth(23),
                Text = "吨",
                TextSize = 12,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextAlignment = TextAlignment.BottomLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
            };
#if __IOS__
            socialContribution_Info1_UintButton.Y = Application.GetRealWidth(66);
#endif
            socialContribution_InfoView_1.AddChidren(socialContribution_Info1_UintButton);
            socialContribution_Info1_ValuesView.AddChidren(socialContribution_Info1_UintButton);
            var socialContribution_Info1_TipButton = new Button()
            {
@@ -1146,10 +1160,17 @@
            };
            socialContribution_InfoView_2.AddChidren(socialContribution_Info2_IconButton);
            var socialContribution_Info2_ValuesView = new FrameLayout()
            {
                Y = Application.GetRealWidth(68),
                Height = Application.GetRealWidth(25),
            };
            socialContribution_InfoView_2.AddChidren(socialContribution_Info2_ValuesView);
            socialContribution_Info2_ValuesButton = new Button()
            {
                X = Application.GetRealWidth(12),
                Y = Application.GetRealWidth(68),
                //Y = Application.GetRealWidth(68),
                Width = Application.GetRealWidth(36),
                Height = Application.GetRealWidth(25),
                Text = function.GetAttrState(InverterJinmao_AttrEnum.co2.ToString()),
@@ -1157,26 +1178,23 @@
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextAlignment = TextAlignment.BottomLeft,
                IsBold = true,
                FontName = "BEBAS",
                FontName = fontName,
            };
            socialContribution_Info2_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
            socialContribution_InfoView_2.AddChidren(socialContribution_Info2_ValuesButton);
            socialContribution_Info2_ValuesView.AddChidren(socialContribution_Info2_ValuesButton);
            socialContribution_Info2_UintButton = new Button()
            {
                X = socialContribution_Info2_ValuesButton.Right - Application.GetRealWidth(4),
                Y = Application.GetRealWidth(68),
                //Y = Application.GetRealWidth(68),
                Width = Application.GetRealWidth(50),
                Height = Application.GetRealWidth(23),
                //Height = Application.GetRealWidth(23),
                Text = "吨",
                TextSize = 12,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextAlignment = TextAlignment.BottomLeft,
            };
#if __IOS__
            socialContribution_Info2_UintButton.Y = Application.GetRealWidth(66);
#endif
            socialContribution_InfoView_2.AddChidren(socialContribution_Info2_UintButton);
            socialContribution_Info2_ValuesView.AddChidren(socialContribution_Info2_UintButton);
            var socialContribution_Info2_TipButton = new Button()
            {
@@ -1216,37 +1234,41 @@
            };
            socialContribution_InfoView_3.AddChidren(socialContribution_Info3_IconButton);
            var socialContribution_Info3_ValuesView = new FrameLayout()
            {
                Y = Application.GetRealWidth(68),
                Height = Application.GetRealWidth(25),
            };
            socialContribution_InfoView_3.AddChidren(socialContribution_Info3_ValuesView);
            socialContribution_Info3_ValuesButton = new Button()
            {
                X = Application.GetRealWidth(12),
                Y = Application.GetRealWidth(68),
                //Y = Application.GetRealWidth(68),
                Width = Application.GetRealWidth(36),
                Height = Application.GetRealWidth(25),
                //Height = Application.GetRealWidth(25),
                Text = function.GetAttrState(InverterJinmao_AttrEnum.trees.ToString()),
                TextSize = 18,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextAlignment = TextAlignment.BottomLeft,
                IsBold = true,
                FontName = "BEBAS",
                FontName = fontName,
            };
            socialContribution_Info3_ValuesButton.Width = socialContribution_Info3_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
            socialContribution_InfoView_3.AddChidren(socialContribution_Info3_ValuesButton);
            socialContribution_Info3_ValuesView.AddChidren(socialContribution_Info3_ValuesButton);
            socialContribution_Info3_UintButton = new Button()
            {
                X = socialContribution_Info3_ValuesButton.Right - Application.GetRealWidth(4),
                Y = Application.GetRealWidth(68),
                //Y = Application.GetRealWidth(68),
                Width = Application.GetRealWidth(50),
                Height = Application.GetRealWidth(23),
                //Height = Application.GetRealWidth(23),
                Text = "棵",
                TextSize = 12,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextAlignment = TextAlignment.BottomLeft,
            };
            #if __IOS__
            socialContribution_Info3_UintButton.Y = Application.GetRealWidth(66);
            #endif
            socialContribution_InfoView_3.AddChidren(socialContribution_Info3_UintButton);
            socialContribution_Info3_ValuesView.AddChidren(socialContribution_Info3_UintButton);
            var socialContribution_Info3_TipButton = new Button()
            {
@@ -1359,7 +1381,7 @@
#if __IOS__
            pvLoad_TodayValuesButton.Y = Application.GetRealWidth(34);
            pvLoad_TodayValuesButton.X = Application.GetRealWidth(81 - 12) - loadEle_TodayUintButton.Width;
            pvLoad_TodayValuesButton.X = Application.GetRealWidth(81 - 8) - loadEle_TodayUintButton.Width;
#else
            pvLoad_TodayValuesButton.Y = Application.GetRealWidth(37);
            pvLoad_TodayValuesButton.X = Application.GetRealWidth(81 - 16) - loadEle_TodayUintButton.Width;
HDL_ON/UI/UI2/FuntionControlView/Acst/WaterHeaterJinmaoPage.cs
@@ -143,6 +143,12 @@
        /// </summary>
        Button btnPowerControl;
#if __ANDROID__
        private string fontName = "BEBAS.ttf";
#else
        private string fontName = "BEBAS";
#endif
        public WaterHeaterJinmaoPage(Function deviceFunction)
        {
            bodyView = this;
@@ -159,14 +165,14 @@
            contentView = new VerticalScrolViewLayout()
            {
                Y = topView.contentView.Height,
                Height = Application.GetRealHeight(Application.DesignHeight - 94 - 5) - topView.contentView.Height,
                Height = Application.GetRealHeight(Application.DesignHeight) - topView.contentView.Height - Application.GetRealWidth(94),
            };
            bodyView.AddChidren(contentView);
            bottomView = new FrameLayout()
            {
                Y = Application.GetRealHeight(Application.DesignHeight - 94),
                Height = Application.GetRealHeight(94 + 16),
                Y = Application.GetRealHeight(Application.DesignHeight) - Application.GetRealWidth(94),
                Height = Application.GetRealWidth(94 + 16),
                BackgroundColor = CSS_Color.MainBackgroundColor,
                Radius = (uint)Application.GetRealHeight(16),
                BorderColor = 0x00FFFFFF,
@@ -187,14 +193,14 @@
        /// </summary>
        private void initContentView()
        {
            contentView.AddChidren(new Button() { Height = Application.GetRealHeight(16) });
            contentView.AddChidren(new Button() { Height = Application.GetRealWidth(16) });
            #region 热水器状态
            FrameLayout infoView = new FrameLayout()
            {
                Gravity = Gravity.CenterHorizontal,
                Width = Application.GetRealWidth(343),
                Height = Application.GetRealHeight(181),
                Height = Application.GetRealWidth(181),
                BackgroundColor = CSS_Color.MainBackgroundColor,
                Radius = (uint)Application.GetRealHeight(12),
                BorderColor = 0x00FFFFFF,
@@ -254,6 +260,7 @@
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextAlignment = TextAlignment.TopCenter,
                Text = function.GetAttrState(WaterHeaterJinmao_AttrEnum.temp.ToString(), "---"),
                FontName = fontName,
            };
            btnTempValues.Width = btnTempValues.GetTextWidth() + Application.GetRealWidth(6);
            if (btnTempValues.Width > Application.GetRealWidth(80))
@@ -433,6 +440,7 @@
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextAlignment = TextAlignment.TopCenter,
                Text = function.GetAttrState(WaterHeaterJinmao_AttrEnum.set_temp.ToString(), "---"),
                FontName = fontName,
            };
            setTemp_ValuesButton.Width = setTemp_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
            setTemp_ValuesButton.Gravity = Gravity.CenterHorizontal;
@@ -502,7 +510,6 @@
            };
            setTempView.AddChidren(setTemp_Temp_MaxValuesTextButton);
            #endregion
            #region flow 热水流量
            if (function.attributes.Find((obj) => obj.key == WaterHeaterJinmao_AttrEnum.flow.ToString()) != null)
@@ -707,7 +714,7 @@
                {
                    Gravity = Gravity.CenterHorizontal,
                    Width = Application.GetRealWidth(343),
                    Height = Application.GetRealHeight(142),
                    Height = Application.GetRealWidth(130),
                    ScrollEnabled = false,
                };
                contentView.AddChidren(socialContributionView);
@@ -732,33 +739,41 @@
                    };
                    socialContribution_InfoView_1.AddChidren(socialContribution_Info1_IconButton);
                    var socialContribution_Info1_ValuesView = new FrameLayout()
                    {
                        Y = Application.GetRealWidth(68),
                        Height = Application.GetRealWidth(25),
                    };
                    socialContribution_InfoView_1.AddChidren(socialContribution_Info1_ValuesView);
                    socialContribution_Info1_ValuesButton = new Button()
                    {
                        X = Application.GetRealWidth(12),
                        Y = Application.GetRealWidth(68),
                        //Y = Application.GetRealWidth(68),
                        Width = Application.GetRealWidth(36),
                        Height = Application.GetRealWidth(25),
                        //Height = Application.GetRealWidth(25),
                        Text = function.GetAttrState(WaterHeaterJinmao_AttrEnum.energy_electricity.ToString()),
                        TextSize = 18,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextAlignment = TextAlignment.BottomLeft,
                        IsBold = true,
                        FontName = fontName,
                    };
                    socialContribution_Info1_ValuesButton.Width = socialContribution_Info1_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
                    socialContribution_InfoView_1.AddChidren(socialContribution_Info1_ValuesButton);
                    socialContribution_Info1_ValuesView.AddChidren(socialContribution_Info1_ValuesButton);
                    socialContribution_Info1_UintButton = new Button()
                    {
                        X = socialContribution_Info1_ValuesButton.Right,
                        Y = Application.GetRealWidth(68),
                        //Y = Application.GetRealWidth(68),
                        Width = Application.GetRealWidth(50),
                        Height = Application.GetRealWidth(23),
                        //Height = Application.GetRealWidth(23),
                        Text = "kwh",
                        TextSize = 12,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextAlignment = TextAlignment.BottomLeft,
                    };
                    socialContribution_InfoView_1.AddChidren(socialContribution_Info1_UintButton);
                    socialContribution_Info1_ValuesView.AddChidren(socialContribution_Info1_UintButton);
                    var socialContribution_Info1_TipButton = new Button()
                    {
@@ -800,37 +815,41 @@
                    };
                    socialContribution_InfoView_2.AddChidren(socialContribution_Info2_IconButton);
                    var socialContribution_Info2_ValuesView = new FrameLayout()
                    {
                        Y = Application.GetRealWidth(68),
                        Height = Application.GetRealWidth(25),
                    };
                    socialContribution_InfoView_2.AddChidren(socialContribution_Info2_ValuesView);
                    socialContribution_Info2_ValuesButton = new Button()
                    {
                        X = Application.GetRealWidth(12),
                        Y = Application.GetRealWidth(68),
                        //Y = Application.GetRealWidth(68),
                        Width = Application.GetRealWidth(36),
                        Height = Application.GetRealWidth(25),
                        //Height = Application.GetRealWidth(25),
                        Text = function.GetAttrState(WaterHeaterJinmao_AttrEnum.co2.ToString()),
                        TextSize = 18,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextAlignment = TextAlignment.BottomLeft,
                        IsBold = true,
                        FontName = fontName,
                    };
                    socialContribution_Info2_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
                    socialContribution_InfoView_2.AddChidren(socialContribution_Info2_ValuesButton);
                    socialContribution_Info2_ValuesView.AddChidren(socialContribution_Info2_ValuesButton);
                    socialContribution_Info2_UintButton = new Button()
                    {
                        X = socialContribution_Info2_ValuesButton.Right,
                        Y = Application.GetRealWidth(68),
                        //Y = Application.GetRealWidth(68),
                        Width = Application.GetRealWidth(50),
                        Height = Application.GetRealWidth(23),
                        //Height = Application.GetRealWidth(23),
                        Text = "吨",
                        TextSize = 12,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextAlignment = TextAlignment.BottomLeft,
                    };
#if __IOS__
            socialContribution_Info2_UintButton.Y = Application.GetRealWidth(66);
#endif
                    socialContribution_InfoView_2.AddChidren(socialContribution_Info2_UintButton);
                    socialContribution_Info2_ValuesView.AddChidren(socialContribution_Info2_UintButton);
                    var socialContribution_Info2_TipButton = new Button()
                    {
@@ -872,36 +891,41 @@
                    };
                    socialContribution_InfoView_3.AddChidren(socialContribution_Info3_IconButton);
                    var socialContribution_Info3_ValuesView = new FrameLayout()
                    {
                        Y = Application.GetRealWidth(68),
                        Height = Application.GetRealWidth(25),
                    };
                    socialContribution_InfoView_3.AddChidren(socialContribution_Info3_ValuesView);
                    socialContribution_Info3_ValuesButton = new Button()
                    {
                        X = Application.GetRealWidth(12),
                        Y = Application.GetRealWidth(68),
                        //Y = Application.GetRealWidth(68),
                        Width = Application.GetRealWidth(36),
                        Height = Application.GetRealWidth(25),
                        //Height = Application.GetRealWidth(25),
                        Text = function.GetAttrState(WaterHeaterJinmao_AttrEnum.trees.ToString()),
                        TextSize = 18,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextAlignment = TextAlignment.BottomLeft,
                        IsBold = true,
                        FontName = fontName,
                    };
                    socialContribution_Info3_ValuesButton.Width = socialContribution_Info3_ValuesButton.GetTextWidth() + Application.GetRealWidth(8);
                    socialContribution_InfoView_3.AddChidren(socialContribution_Info3_ValuesButton);
                    socialContribution_Info3_ValuesView.AddChidren(socialContribution_Info3_ValuesButton);
                    socialContribution_Info3_UintButton = new Button()
                    {
                        X = socialContribution_Info3_ValuesButton.Right,
                        Y = Application.GetRealWidth(68),
                        //Y = Application.GetRealWidth(68),
                        Width = Application.GetRealWidth(50),
                        Height = Application.GetRealWidth(23),
                        //Height = Application.GetRealWidth(23),
                        Text = "棵",
                        TextSize = 12,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextAlignment = TextAlignment.BottomLeft,
                    };
#if __IOS__
            socialContribution_Info3_UintButton.Y = Application.GetRealWidth(66);
#endif
                    socialContribution_InfoView_3.AddChidren(socialContribution_Info3_UintButton);
                    socialContribution_Info3_ValuesView.AddChidren(socialContribution_Info3_UintButton);
                    var socialContribution_Info3_TipButton = new Button()
                    {
@@ -922,6 +946,7 @@
            #endregion
            contentView.AddChidren(new Button() { Height = Application.GetRealWidth(12) });
        }
        /// <summary>
HDL_ON/UI/UI2/FuntionControlView/Acst/WetarHeaterJinmaoHistoryPage.cs
@@ -62,10 +62,15 @@
            var contentView = new VerticalScrolViewLayout()
            {
                Y = Application.GetRealHeight(74 + 16),
                Y = Application.GetRealHeight(74 ),
                Height = Application.GetRealHeight(Application.DesignHeight - 74),
            };
            bodyView.AddChidren(contentView);
            contentView.AddChidren(new Button()
            {
                Height = Application.GetRealWidth(16)
            });
            #region 温度值
            infoView1 = new FrameLayout()
@@ -130,7 +135,9 @@
                IsSelected = false,
            };
            infoView1_DateView.AddChidren(infoView1_Date_Month);
#if __IOS__
            infoView1_DateView.AddChidren(new Button() { Width = Application.GetRealWidth(2) });
#endif
            infoView1_Date_Year = new Button()
            {
                Width = Application.GetRealWidth(103),
@@ -269,7 +276,6 @@
                Height = Application.GetRealWidth(16)
            });
            if (function.attributes.Find((obj) => obj.key == WaterHeaterJinmao_AttrEnum.volume.ToString()) != null)
            {
                #region 用水量
@@ -338,7 +344,9 @@
                    IsSelected = false,
                };
                infoView2_DateView.AddChidren(infoView2_Date_Month);
#if __IOS__
                infoView2_DateView.AddChidren(new Button() { Width = Application.GetRealWidth(2) });
#endif
                infoView2_Date_Year = new Button()
                {
@@ -989,7 +997,7 @@
                Radius = (uint)Application.GetRealWidth(12),
            };
            optionBaseView.AddChidren(topView);
            topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
            optionBaseView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
            var btnCancel = new Button()
            {
@@ -1004,7 +1012,7 @@
            var btnConfrim = new Button()
            {
                X = Application.GetRealWidth(160),
                X = Application.GetRealWidth(163),
                Width = Application.GetRealWidth(160),
                TextAlignment = TextAlignment.CenterRight,
                TextColor = CSS_Color.MainColor,
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EchartsOption_Histogram.cs
@@ -84,8 +84,8 @@
                              },
                              grid: {
                                    top: '10%',
                                    left: '15%',
                                    right: '15%',
                                    left: '12%',
                                    right: '12%',
                                    bottom: '10%',
                                    },
                              xAxis: {