From 8d5792379f08075ed65fcadc2eeecc55467e341f Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 21 九月 2022 14:29:50 +0800
Subject: [PATCH] 备份

---
 HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs |  480 +++++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 344 insertions(+), 136 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
index 582e49d..1f6ad58 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
@@ -1,4 +1,5 @@
 锘縰sing System;
+using System.Collections.Generic;
 using HDL_ON.Entity;
 using Shared;
 
@@ -12,39 +13,151 @@
 	/// </summary>
     public class AcstParentPage : FrameLayout
     {
+        static AcstParentPage basePage;
+
         VerticalScrolViewLayout bodyView;
+
+        #region 澶╂皵鎺т欢
+        Button btnOutdoorTemp;
+        Button btnWeather;
+        TextButton btnHumidityValues;
+        TextButton btnPm25Values;
+        #endregion
+
+        #region 浼犳劅鍣ㄣ�佽�楃數閲忕粍浠�
+        SensorDiyView sensorDiyView_Temp;
+        SensorDiyView sensorDiyView_Humi;
+        SensorDiyView sensorDiyView_Pm25;
+        SensorDiyView sensorDiyView_Co2;
+        SensorDiyView sensorDiyView_Tvoc;
+        SensorDiyView sensorDiyView_EleDay;
+        SensorDiyView sensorDiyView_EleMonth;
+        SensorDiyView sensorDiyView_EleTotal;
+        #endregion
+        /// <summary>
+        /// 瀛愭帶鍖哄煙鍒楄〃
+        /// </summary>
+        Dictionary<string, AcstSubControlView> subViewList;
+
+
+        public override void RemoveFromParent()
+        {
+            base.RemoveFromParent();
+            basePage = null;
+        }
+
         Function function;
         /// <summary>
         /// 褰撳墠鏃舵棰滆壊
         /// </summary>
         uint curColor = CSS.CSS_Color.MainColor;
 
+        string imageFolder = "blue";
+
         public AcstParentPage()
         {
+            basePage = this;
             this.function = FunctionList.List.GetAcstParentList()[0];
             this.BackgroundColor = CSS.CSS_Color.BackgroundColor;
             bodyView = new VerticalScrolViewLayout();
             this.AddChidren(bodyView);
-
-
-
-
+            subViewList = new Dictionary<string, AcstSubControlView>();
         }
-
+        /// <summary>
+        /// 鏇存柊澶╂皵淇℃伅
+        /// </summary>
         public void InitGetWeatherAction()
         {
-            MainPage.CityWeatherAction = () => {
-
+            MainPage.CityWeatherAction = () =>
+            {
+                Application.RunOnMainThread(() =>
+                {
+                    btnOutdoorTemp.Text = MainPage.cityInfo.temperature + "掳";
+                    btnWeather.Text = MainPage.cityInfo.weather;
+                    btnHumidityValues.Text = MainPage.cityInfo.humidity + "%";
+                    btnHumidityValues.Width = btnHumidityValues.GetTextWidth() + Application.GetRealWidth(10);
+                    btnPm25Values.Text = MainPage.cityInfo.pm25;
+                    btnPm25Values.Width = btnPm25Values.GetTextWidth() + Application.GetRealWidth(10);
+                });
             };
+        }
+        /// <summary>
+        /// 浼犳劅鍣ㄣ�佽�楃數閲忕粍浠�
+        /// </summary>
+        public static void UpdateAcstParentInfo(Function temp)
+        {
+            if (basePage == null)
+            {
+                return;
+            }
+            if (basePage.sensorDiyView_Temp != null)
+                basePage.sensorDiyView_Temp.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.room_temp.ToString()).curValue.ToString());
+            if (basePage.sensorDiyView_Humi != null)
+                basePage.sensorDiyView_Humi.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.room_humidity.ToString()).curValue.ToString());
+            if (basePage.sensorDiyView_Pm25 != null)
+                basePage.sensorDiyView_Pm25.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.pm25.ToString()).curValue.ToString());
+            if (basePage.sensorDiyView_Co2 != null)
+                basePage.sensorDiyView_Co2.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.co2.ToString()).curValue.ToString());
+            if (basePage.sensorDiyView_Tvoc != null)
+                basePage.sensorDiyView_Tvoc.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.tvoc.ToString()).curValue.ToString());
+            if (basePage.sensorDiyView_EleDay != null)
+                basePage.sensorDiyView_EleDay.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.day_electricity.ToString()).curValue.ToString());
+            if (basePage.sensorDiyView_EleMonth != null)
+                basePage.sensorDiyView_EleMonth.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.month_electricity.ToString()).curValue.ToString());
+            if (basePage.sensorDiyView_EleTotal != null)
+                basePage.sensorDiyView_EleTotal.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.total_electricity.ToString()).curValue.ToString());
+        }
+
+        /// <summary>
+        /// 鏇存柊瀛愭帶淇℃伅
+        /// </summary>
+        /// <param name="temp"></param>
+        public static void UpdateAcstSubInfo(Function temp)
+        {
+            if(basePage == null)
+            {
+                return;
+            }
+            Application.RunOnMainThread(() => {
+                var view = basePage.subViewList[temp.sid];
+                if(view!= null)
+                {
+                    view.btnSubHumidityValues.Text = temp.GetAttrState(AcstSub_AttrEnum.room_humidity.ToString()) + "%";
+                    view.btnSubTempValues.Text = temp.GetAttrState(AcstSub_AttrEnum.room_humidity.ToString()) + "%";
+                    view.btnSubPower.IsSelected = temp.GetAttrState(AcstSub_AttrEnum.on_off.ToString()) == "on";
+                }
+            });
         }
 
         public void LoadPage()
         {
+            var curTime = DateTime.Now;
+            string helloText = "涓婂崍濂�";
+            if (curTime.Hour >= 8 && curTime.Hour < 12)
+            {
+                helloText = "涓婂崍濂�";
+                curColor = CSS.CSS_Color.MainColor;
+                imageFolder = "blue";
+            }
+            else if (curTime.Hour >= 12 && curTime.Hour < 18)
+            {
+                helloText = "涓嬪崍濂�";
+                curColor = 0xFFE7914F;
+                imageFolder = "orange";
+            }
+            else
+            {
+                helloText = "鏅氫笂濂�";
+                curColor = 0xFF9175F3;
+                imageFolder = "purple";
+            }
+
             #region 澶撮儴淇℃伅鍖哄煙
             FrameLayout topView = new FrameLayout()
             {
                 Height = Application.GetRealHeight(181),
                 BackgroundColor = 0xFFb0eafa,
+                BackgroundImagePath = $"FunctionIcon/Acst/{imageFolder}/TopViewBg.png",
             };
             bodyView.AddChidren(topView);
 
@@ -53,7 +166,6 @@
                 Y = Application.GetRealHeight(32),
                 Width = Application.GetRealWidth(100),
                 Height = Application.GetRealHeight(34),
-                BackgroundColor = 0x33333333,
             };
             topView.AddChidren(backView);
 
@@ -77,25 +189,14 @@
                 Width = Application.GetRealWidth(200),
                 Height = Application.GetRealHeight(38),
                 TextSize = 20,
+                Text = helloText,
                 TextColor = 0xFFFFFFFF,
                 TextAlignment = TextAlignment.CenterLeft,
             };
             topView.AddChidren(btnHelloText);
-            var curTime = DateTime.Now;
-            if (curTime.Hour >= 8 && curTime.Hour < 12)
-            {
-                btnHelloText.Text = "涓婂崍濂�";
-            }
-            else if (curTime.Hour >= 12 && curTime.Hour < 18)
-            {
-                btnHelloText.Text = "涓嬪崍濂�";
-            }
-            else
-            {
-                btnHelloText.Text = "鏅氫笂濂�";
-            }
 
-            var btnOutdoorTemp = new Button()
+            
+            btnOutdoorTemp = new Button()
             {
                 X = Application.GetRealWidth(25),
                 Y = Application.GetRealHeight(90),
@@ -108,7 +209,7 @@
             };
             topView.AddChidren(btnOutdoorTemp);
 
-            var btnWeather = new Button()
+            btnWeather = new Button()
             {
                 X = btnOutdoorTemp.Right,
                 Y = Application.GetRealHeight(95),
@@ -120,8 +221,6 @@
                 TextAlignment = TextAlignment.CenterLeft,
             };
             topView.AddChidren(btnWeather);
-
-
 
 
             var environmentalView = new FrameLayout()
@@ -141,7 +240,7 @@
             };
             environmentalView.AddChidren(btnHumidityIcon);
 
-            var btnHumidityValues = new TextButton()
+            btnHumidityValues = new TextButton()
             {
                 X = btnHumidityIcon.Right + Application.GetRealWidth(4),
                 Gravity = Gravity.CenterVertical,
@@ -163,7 +262,7 @@
             };
             environmentalView.AddChidren(btnPm25Icon);
 
-            var btnPm25Values = new TextButton()
+            btnPm25Values = new TextButton()
             {
                 X = btnPm25Icon.Right + Application.GetRealWidth(4),
                 Gravity = Gravity.CenterVertical,
@@ -197,7 +296,7 @@
                 Gravity = Gravity.Center,
                 Width = Application.GetRealWidth(343),
                 Height = Application.GetRealHeight(72),
-                BackgroundColor = 0x22222222,
+                BackgroundImagePath = $"FunctionIcon/Acst/{imageFolder}/MsgViewBg.png",
             };
             infoView.AddChidren(infoContentView);
 
@@ -236,25 +335,26 @@
             };
             infoContentView.AddChidren(sensorListView);
 
+
             if (tempObj != null)
             {
-                new SensorDiyView(sensorListView, curColor, tempObj.curValue.ToString() + "掳", "娓╁害");
+                sensorDiyView_Temp = new SensorDiyView(sensorListView, curColor, tempObj.curValue.ToString() + "掳", "娓╁害");
             }
             if (humiObj != null)
             {
-                new SensorDiyView(sensorListView, curColor, humiObj.curValue.ToString() + "%", "婀垮害");
+                sensorDiyView_Humi = new SensorDiyView(sensorListView, curColor, humiObj.curValue.ToString() + "%", "婀垮害");
             }
             if (pm25Obj != null)
             {
-                new SensorDiyView(sensorListView, curColor, pm25Obj.curValue.ToString(), "PM2.5");
+                sensorDiyView_Pm25 = new SensorDiyView(sensorListView, curColor, pm25Obj.curValue.ToString(), "PM2.5");
             }
             if (co2Obj != null)
             {
-                new SensorDiyView(sensorListView, curColor, co2Obj.curValue.ToString(), "CO2");
+                sensorDiyView_Co2 = new SensorDiyView(sensorListView, curColor, co2Obj.curValue.ToString(), "CO2");
             }
             if (tvocObj != null)
             {
-                new SensorDiyView(sensorListView, curColor, tvocObj.curValue.ToString(), "TVOC");
+                sensorDiyView_Tvoc = new SensorDiyView(sensorListView, curColor, tvocObj.curValue.ToString(), "TVOC");
             }
             #endregion
 
@@ -285,15 +385,15 @@
             infoContentView.AddChidren(energyListView);
             if (dayObj != null)
             {
-                new SensorDiyView(energyListView, curColor, dayObj.curValue.ToString(), "浠婃棩鑰楃數");
+                sensorDiyView_EleDay = new SensorDiyView(energyListView, curColor, dayObj.curValue.ToString(), "浠婃棩鑰楃數");
             }
             if (monthObj != null)
             {
-                new SensorDiyView(energyListView, curColor, monthObj.curValue.ToString(), "鏈湀鑰楃數");
+                sensorDiyView_EleMonth = new SensorDiyView(energyListView, curColor, monthObj.curValue.ToString(), "鏈湀鑰楃數");
             }
             if (totalObj != null)
             {
-                new SensorDiyView(energyListView, curColor, totalObj.curValue.ToString(), "鎬昏�楃數閲�");
+                sensorDiyView_EleTotal = new SensorDiyView(energyListView, curColor, totalObj.curValue.ToString(), "鎬昏�楃數閲�");
             }
 
             var btnChangeClick = new Button();
@@ -325,17 +425,19 @@
 
             var subTitleView = new FrameLayout()
             {
-                Height = Application.GetRealHeight(54),
+                Height = Application.GetRealHeight(54-11),
             };
             bodyView.AddChidren(subTitleView);
 
             var btnCollection = new Button()
             {
                 X = Application.GetRealWidth(6),
-                Gravity = Gravity.CenterVertical,
+                Y = Application.GetRealHeight(10),
                 Width = Application.GetRealWidth(39),
-                Height = Application.GetRealHeight(39),
-                UnSelectedImagePath = "Function/Acst/CollectionIcon_bule.png",
+                Height = Application.GetRealWidth(39),
+                IsSelected = function.collect,
+                UnSelectedImagePath = "FunctionIcon/Acst/grey/CollectionIcon.png",
+                SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/CollectionIcon.png",
             };
             subTitleView.AddChidren(btnCollection);
 
@@ -347,6 +449,7 @@
                 TextColor = 0xFF242424,
                 TextAlignment = TextAlignment.CenterLeft,
                 IsBold = true,
+                Height = Application.GetRealHeight(54),
             };
             subTitleView.AddChidren(btnTitleText);
 
@@ -358,95 +461,28 @@
             };
             bodyView.AddChidren(subFunctionListView);
 
-            foreach(var sub in FunctionList.List.GetAcstSubList())
+
+            subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(9) });
+            foreach (var sub in FunctionList.List.GetAcstSubList())
             {
-                if(subFunctionCount > 0 && subFunctionCount % 2 == 0)
+                if (subViewList.ContainsKey(sub.sid))
+                {
+                    continue;
+                }
+
+                if (subFunctionCount > 0 && subFunctionCount % 2 == 0)
                 {
                     subFunctionListView = new HorizontalScrolViewLayout()
                     {
-                        Height = Application.GetRealHeight(88),
+                        Height = Application.GetRealHeight(93),
                     };
                     bodyView.AddChidren(subFunctionListView);
+                    subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(9) });
                 }
 
-                subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(16) });
+                AcstSubControlView subFunctionView = new AcstSubControlView(sub, subFunctionListView,imageFolder);
 
-                var subFunctionView = new FrameLayout() {
-                    Width = Application.GetRealWidth(164),
-                    Height = Application.GetRealHeight(72),
-                    BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
-                };
-                subFunctionListView.AddChidren(subFunctionView);
-
-                var btnRoomInfo = new Button()
-                {
-                    X = Application.GetRealWidth(18),
-                    Height = Application.GetRealHeight(40),
-                    TextAlignment = TextAlignment.CenterLeft,
-                    TextColor = 0xFF1b3053,
-                    TextSize = 13,
-                    Text = sub.GetRoomListName(),
-                };
-                subFunctionView.AddChidren(btnRoomInfo);
-
-
-                var btnSubTempIcon = new Button()
-                {
-                    X = Application.GetRealWidth(16),
-                    Y = Application.GetRealHeight(47),
-                    Width = Application.GetMinRealAverage(11),
-                    Height = Application.GetMinRealAverage(11),
-                    UnSelectedImagePath = "FunctionIcon/CAC/HvacCacTempIcon.png",
-                };
-                subFunctionView.AddChidren(btnSubTempIcon);
-                var btnSubTempValues = new TextButton()
-                {
-                    X = btnSubTempIcon.Right,
-                    Y = Application.GetRealHeight(45),
-                    Height = Application.GetRealHeight(14),
-                    Width = Application.GetRealWidth(22),
-                    TextColor =0xFF1b3035,
-                    TextSize = 10,
-                    Text = sub.GetAttrState(AcstSub_AttrEnum.room_temp.ToString()) + "掳C",
-                    TextAlignment = TextAlignment.CenterLeft,
-                };
-                subFunctionView.AddChidren(btnSubTempValues);
-
-                Button btnSubHumidityIcon = new Button()
-                {
-                    X = btnSubTempValues.Right + Application.GetRealWidth(5),
-                    Y = Application.GetRealHeight(47),
-                    Width = Application.GetMinRealAverage(11),
-                    Height = Application.GetMinRealAverage(11),
-                    UnSelectedImagePath = "FunctionIcon/CAC/HvacCacHumidityIcon.png",
-                };
-                subFunctionView.AddChidren(btnSubHumidityIcon);
-
-                var btnSubHumidityValues = new TextButton()
-                {
-                    X = btnSubHumidityIcon.Right,
-                    Y = Application.GetRealHeight(45),
-                    Height = Application.GetRealHeight(14),
-                    Width = Application.GetRealWidth(22),
-                    TextColor = 0xFF1b3053,
-                    TextSize = 10,
-                    Text = sub.GetAttrState(AcstSub_AttrEnum.room_humidity.ToString()) + "%",
-                    TextAlignment = TextAlignment.CenterLeft,
-                };
-                subFunctionView.AddChidren(btnSubHumidityValues);
-
-
-                var btnSubPower = new Button()
-                {
-                    X = Application.GetRealWidth(121),
-                    Gravity = Gravity.CenterVertical,
-                    Width = Application.GetRealWidth(28),
-                    Height = Application.GetRealWidth(28),
-                    BackgroundColor = curColor,
-                    Text = "寮�鍏�",
-                    TextAlignment = TextAlignment.Center,
-                };
-                subFunctionView.AddChidren(btnSubPower);
+                subViewList.Add(sub.sid, subFunctionView);
 
 
 
@@ -455,19 +491,10 @@
 
             #endregion
 
-
-
-
-
-
-
-
-
             bodyView.AddChidren(new Button()
             {
                 Height = Application.GetRealHeight(72),
             });
-
 
             #region 搴曢儴鎺у埗鏍�
             var bottomView = new FrameLayout()
@@ -484,14 +511,54 @@
                 Gravity = Gravity.CenterVertical,
                 Width = Application.GetRealWidth(38),
                 Height = Application.GetRealWidth(38),
-                BackgroundColor = curColor,
-                Text = "妯″紡",
+                UnSelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeCoolIcon2.png",
+                SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeCoolIcon2.png",
                 TextAlignment = TextAlignment.Center,
             };
             bottomView.AddChidren(btnModeControl);
             btnModeControl.MouseUpEventHandler = (sender, e) =>
             {
+                Dialog dialog = new Dialog();
 
+                var dialogView = new FrameLayout();
+                dialog.AddChidren(dialogView);
+                dialogView.MouseUpEventHandler = (sender, e) => {
+                    dialog.Close();
+                };
+
+                var dialogContentView = new FrameLayout() {
+                    X = Application.GetRealWidth(34),
+                    Y = Application.GetRealHeight(291),
+                    Width = Application.GetRealWidth(144),
+                    Height = Application.GetRealHeight(291),
+                    BackgroundImagePath = "FunctionIcon/Acst/BgChooseMode.png",
+                };
+                dialogView.AddChidren(dialogContentView);
+
+                var titleView = new FrameLayout() {
+                    X = Application.GetRealWidth(2),
+                    Y = Application.GetRealHeight(3),
+                    Width = Application.GetRealWidth(144),
+                    Height = Application.GetRealHeight(44),
+                };
+                dialogContentView.AddChidren(titleView);
+                var btnTitleText = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Width = Application.GetRealWidth(100),
+                    Text = "閫夋嫨妯″紡",
+                    TextSize = 16,
+                    TextColor = CSS.CSS_Color.FirstLevelTitleColor,
+                    IsBold = true,
+                    TextAlignment = TextAlignment.CenterLeft,
+                };
+                titleView.AddChidren(btnTitleText);
+
+
+
+
+
+                dialog.Show();
             };
 
             var btnPowerControl = new Button()
@@ -499,8 +566,8 @@
                 Gravity = Gravity.Center,
                 Width = Application.GetRealWidth(38),
                 Height = Application.GetRealWidth(38),
-                BackgroundColor = curColor,
-                Text = "寮�鍏�",
+                UnSelectedImagePath = "FunctionIcon/Acst/grey/PowerOffIcon.png",
+                SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/PowerOnIcon.png",
                 TextAlignment = TextAlignment.Center,
             };
             bottomView.AddChidren(btnPowerControl);
@@ -512,8 +579,8 @@
                 X = Application.GetRealWidth(249),
                 Width = Application.GetRealWidth(38),
                 Height = Application.GetRealWidth(38),
-                BackgroundColor = curColor,
-                Text = "鍦烘櫙",
+                UnSelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneSleepIcon2.png",
+                SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneSleepIcon2.png",
                 TextAlignment = TextAlignment.Center,
             };
             bottomView.AddChidren(btnWorkSceneControl);
@@ -537,7 +604,9 @@
 
     }
 
-
+    /// <summary>
+    /// 浼犳劅鍣ㄦ暟鎹粍浠�
+    /// </summary>
     public class SensorDiyView
     {
         private FrameLayout contentView;
@@ -547,6 +616,9 @@
 
         public SensorDiyView(HorizontalScrolViewLayout view,uint color,string value,string text)
         {
+            ///榛樿Tag 涓轰紶杩涙潵鐨凾ext
+            Tag = text;
+
             contentView = new FrameLayout()
             {
                 Width = Application.GetRealWidth(60),
@@ -582,4 +654,140 @@
             btnText.Text = value;
         }
     }
+
+    /// <summary>
+    /// 瀛愭帶鍗$墖缁勪欢
+    /// </summary>
+    public class AcstSubControlView
+    {
+        public TextButton btnSubTempValues;
+        public TextButton btnSubHumidityValues;
+        public Button btnSubPower;
+
+        public AcstSubControlView(Function sub, HorizontalScrolViewLayout subFunctionListView,string imageFolder)
+        {
+            var subFunctionView = new FrameLayout()
+            {
+                Width = Application.GetRealWidth(177),
+                Height = Application.GetRealHeight(93),
+                BackgroundImagePath = "FunctionIcon/Acst/grey/BgSubControlView.png",
+            };
+            subFunctionListView.AddChidren(subFunctionView);
+
+            var btnRoomInfo = new Button()
+            {
+                X = Application.GetRealWidth(18 + 7),
+                Y = Application.GetRealHeight(11),
+                Height = Application.GetRealHeight(40),
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = 0xFF1b3053,
+                TextSize = 13,
+                Text = sub.GetRoomListName(),
+            };
+            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),
+                UnSelectedImagePath = "FunctionIcon/CAC/HvacCacTempIcon.png",
+            };
+            subFunctionView.AddChidren(btnSubTempIcon);
+
+            btnSubTempValues = new TextButton()
+            {
+                X = btnSubTempIcon.Right,
+                Y = Application.GetRealHeight(45 + 11),
+                Height = Application.GetRealHeight(14),
+                Width = Application.GetRealWidth(22),
+                TextColor = 0xFF1b3035,
+                TextSize = 10,
+                Text = sub.GetAttrState(AcstSub_AttrEnum.room_temp.ToString()) + "掳C",
+                TextAlignment = TextAlignment.CenterLeft,
+            };
+            subFunctionView.AddChidren(btnSubTempValues);
+
+            Button btnSubHumidityIcon = new Button()
+            {
+                X = btnSubTempValues.Right + Application.GetRealWidth(5),
+                Y = Application.GetRealHeight(47 + 11),
+                Width = Application.GetMinRealAverage(11),
+                Height = Application.GetMinRealAverage(11),
+                UnSelectedImagePath = "FunctionIcon/CAC/HvacCacHumidityIcon.png",
+            };
+            subFunctionView.AddChidren(btnSubHumidityIcon);
+
+            btnSubHumidityValues = new TextButton()
+            {
+                X = btnSubHumidityIcon.Right,
+                Y = Application.GetRealHeight(45 + 11),
+                Height = Application.GetRealHeight(14),
+                Width = Application.GetRealWidth(22),
+                TextColor = 0xFF1b3053,
+                TextSize = 10,
+                Text = sub.GetAttrState(AcstSub_AttrEnum.room_humidity.ToString()) + "%",
+                TextAlignment = TextAlignment.CenterLeft,
+            };
+            subFunctionView.AddChidren(btnSubHumidityValues);
+
+            btnSubPower = new Button()
+            {
+                X = Application.GetRealWidth(121 + 7),
+                Gravity = Gravity.CenterVertical,
+                Width = Application.GetRealWidth(28),
+                Height = Application.GetRealWidth(28),
+                UnSelectedImagePath = "FunctionIcon/Acst/grey/PowerOffIcon.png",
+                SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/PowerIcon.png",
+                TextAlignment = TextAlignment.Center,
+            };
+            subFunctionView.AddChidren(btnSubPower);
+
+        }
+    }
+
+
+    public class IconButton : FrameLayout
+    {
+        FrameLayout view;
+
+        public Button btnIcon;
+
+        public Button btnText;
+
+        public IconButton(string iconPath,string iconPath2,string text,uint color,bool isSelect)
+        {
+            view = this;
+            view.Width = Application.GetRealWidth(144);
+            view.Height = Application.GetRealHeight(44);
+
+            btnIcon = new Button()
+            {
+                X = Application.GetRealWidth(16),
+                Gravity = Gravity.CenterHorizontal,
+                Width = Application.GetRealWidth(24),
+                Height = Application.GetRealWidth(24),
+                UnSelectedImagePath = iconPath,
+                SelectedImagePath = iconPath2,
+                IsSelected = isSelect,
+            };
+            view.AddChidren(btnIcon);
+
+            btnText = new Button()
+            {
+                X = btnIcon.Right + Application.GetRealWidth(12),
+                Width = Application.GetRealWidth(90),
+                TextAlignment = TextAlignment.CenterLeft,
+                Text = text,
+                TextSize = 14,
+                TextColor = CSS.CSS_Color.FirstLevelTitleColor,
+                SelectedTextColor = color,
+                IsSelected = isSelect,
+            };
+            view.AddChidren(btnText);
+
+            
+        }
+    }
 }

--
Gitblit v1.8.0