From 39cf2411b59772d56ee731f229f09ff472889bad Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期四, 22 九月 2022 15:12:04 +0800 Subject: [PATCH] Merge branch 'Dev-Branch' into hxb --- HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs | 803 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 803 insertions(+), 0 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs new file mode 100644 index 0000000..9c1d100 --- /dev/null +++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs @@ -0,0 +1,803 @@ +锘縰sing System; +using System.Collections.Generic; +using HDL_ON.Entity; +using Shared; + +namespace HDL_ON.UI +{ + + + /// <summary> + /// 缁垮缓绉戞妧绯荤粺 + /// 鎬绘帶涓婚〉 + /// </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 = () => + { + 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); + + var backView = new FrameLayout() + { + Y = Application.GetRealHeight(32), + Width = Application.GetRealWidth(100), + Height = Application.GetRealHeight(34), + }; + topView.AddChidren(backView); + + Button btnBackIcon = new Button() + { + X = Application.GetRealWidth(16), + Width = Application.GetRealWidth(40), + Height = Application.GetRealWidth(28), + UnSelectedImagePath = "Public/BackIcon.png", + }; + backView.AddChidren(btnBackIcon); + + btnBackIcon.MouseUpEventHandler = (sender, e) => { + this.RemoveFromParent(); + }; + + var btnHelloText = new Button() + { + X = Application.GetRealWidth(25), + Y = Application.GetRealHeight(55), + Width = Application.GetRealWidth(200), + Height = Application.GetRealHeight(38), + TextSize = 20, + Text = helloText, + TextColor = 0xFFFFFFFF, + TextAlignment = TextAlignment.CenterLeft, + }; + topView.AddChidren(btnHelloText); + + + btnOutdoorTemp = new Button() + { + X = Application.GetRealWidth(25), + Y = Application.GetRealHeight(90), + Width = Application.GetRealWidth(85), + Height = Application.GetRealHeight(66), + TextColor = 0xFFFFFFFF, + TextSize = 50, + TextAlignment = TextAlignment.TopLeft, + Text = MainPage.cityInfo.temperature + "掳" + }; + topView.AddChidren(btnOutdoorTemp); + + btnWeather = new Button() + { + X = btnOutdoorTemp.Right, + Y = Application.GetRealHeight(95), + Width = Application.GetRealWidth(80), + Height = Application.GetRealHeight(26), + Text = MainPage.cityInfo.weather, + TextColor = 0xFFFFFFFF, + TextSize = 14, + TextAlignment = TextAlignment.CenterLeft, + }; + topView.AddChidren(btnWeather); + + + var environmentalView = new FrameLayout() + { + Y = Application.GetRealHeight(150), + Height = Application.GetRealHeight(32), + }; + topView.AddChidren(environmentalView); + + var btnHumidityIcon = new Button() + { + X = Application.GetRealWidth(25), + Gravity = Gravity.CenterVertical, + Width = Application.GetMinRealAverage(16), + Height = Application.GetMinRealAverage(16), + UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png", + }; + environmentalView.AddChidren(btnHumidityIcon); + + btnHumidityValues = new TextButton() + { + X = btnHumidityIcon.Right + Application.GetRealWidth(4), + Gravity = Gravity.CenterVertical, + TextColor = 0xFFFFFFFF, + TextSize = 16, + Text = MainPage.cityInfo.humidity + "%", + TextAlignment = TextAlignment.CenterLeft, + }; + btnHumidityValues.Width = btnHumidityValues.GetTextWidth(); + environmentalView.AddChidren(btnHumidityValues); + + var btnPm25Icon = new Button() + { + X = btnHumidityValues.Right + Application.GetRealWidth(14), + Gravity = Gravity.CenterVertical, + Width = Application.GetMinRealAverage(16), + Height = Application.GetMinRealAverage(16), + UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png", + }; + environmentalView.AddChidren(btnPm25Icon); + + btnPm25Values = new TextButton() + { + X = btnPm25Icon.Right + Application.GetRealWidth(4), + Gravity = Gravity.CenterVertical, + TextColor = 0xFFFFFFFF, + TextSize = 16, + Text = MainPage.cityInfo.pm25, + TextAlignment = TextAlignment.CenterLeft, + }; + btnPm25Values.Width = btnPm25Values.GetTextWidth(); + environmentalView.AddChidren(btnPm25Values); + + + #endregion + + bodyView.AddChidren(new Button + { + Height = Application.GetRealHeight(8), + }); + + #region 鏁版嵁 + var infoView = new FrameLayout() + { + Y = topView.Bottom, + Height = Application.GetRealHeight(104), + BackgroundColor = CSS.CSS_Color.MainBackgroundColor, + }; + bodyView.AddChidren(infoView); + + var infoContentView = new FrameLayout() + { + Gravity = Gravity.Center, + Width = Application.GetRealWidth(343), + Height = Application.GetRealHeight(72), + BackgroundImagePath = $"FunctionIcon/Acst/{imageFolder}/MsgViewBg.png", + }; + infoView.AddChidren(infoContentView); + + #region 浼犳劅鍣ㄦ暟鎹� + int sensorCount = 0; + var tempObj = function.GetAttribute(AcstParent_AttrEnum.room_temp.ToString()); + if(tempObj!= null) + { + sensorCount++; + } + var humiObj = function.GetAttribute(AcstParent_AttrEnum.room_humidity.ToString()); + if(humiObj != null) + { + sensorCount++; + } + var pm25Obj = function.GetAttribute(AcstParent_AttrEnum.pm25.ToString()); + if (pm25Obj != null) + { + sensorCount++; + } + var co2Obj = function.GetAttribute(AcstParent_AttrEnum.co2.ToString()); + if (co2Obj != null) + { + sensorCount++; + } + var tvocObj = function.GetAttribute(AcstParent_AttrEnum.tvoc.ToString()); + if (tvocObj != null) + { + sensorCount++; + } + + var sensorListView = new HorizontalScrolViewLayout() + { + Width = Application.GetRealWidth(60 * sensorCount), + Gravity = Gravity.Center, + }; + infoContentView.AddChidren(sensorListView); + + + if (tempObj != null) + { + sensorDiyView_Temp = new SensorDiyView(sensorListView, curColor, tempObj.curValue.ToString() + "掳", "娓╁害"); + } + if (humiObj != null) + { + sensorDiyView_Humi = new SensorDiyView(sensorListView, curColor, humiObj.curValue.ToString() + "%", "婀垮害"); + } + if (pm25Obj != null) + { + sensorDiyView_Pm25 = new SensorDiyView(sensorListView, curColor, pm25Obj.curValue.ToString(), "PM2.5"); + } + if (co2Obj != null) + { + sensorDiyView_Co2 = new SensorDiyView(sensorListView, curColor, co2Obj.curValue.ToString(), "CO2"); + } + if (tvocObj != null) + { + sensorDiyView_Tvoc = new SensorDiyView(sensorListView, curColor, tvocObj.curValue.ToString(), "TVOC"); + } + #endregion + + #region 鑳借�楁暟鎹� + int energyCount = 0; + var dayObj = function.GetAttribute(AcstParent_AttrEnum.day_electricity.ToString()); + if (dayObj != null) + { + energyCount++; + } + var monthObj = function.GetAttribute(AcstParent_AttrEnum.month_electricity.ToString()); + if (monthObj != null) + { + energyCount++; + } + var totalObj = function.GetAttribute(AcstParent_AttrEnum.total_electricity.ToString()); + if (totalObj != null) + { + energyCount++; + } + + var energyListView = new HorizontalScrolViewLayout() + { + Width = Application.GetRealWidth(60 * energyCount), + Gravity = Gravity.Center, + Visible = false, + }; + infoContentView.AddChidren(energyListView); + if (dayObj != null) + { + sensorDiyView_EleDay = new SensorDiyView(energyListView, curColor, dayObj.curValue.ToString(), "浠婃棩鑰楃數"); + } + if (monthObj != null) + { + sensorDiyView_EleMonth = new SensorDiyView(energyListView, curColor, monthObj.curValue.ToString(), "鏈湀鑰楃數"); + } + if (totalObj != null) + { + sensorDiyView_EleTotal = new SensorDiyView(energyListView, curColor, totalObj.curValue.ToString(), "鎬昏�楃數閲�"); + } + + var btnChangeClick = new Button(); + infoView.AddChidren(btnChangeClick); + + bool showSensor = true; + EventHandler<MouseEventArgs> changeInfoEvent = (sender, e) => { + if (showSensor) + { + sensorListView.Visible = false; + showSensor = false; + energyListView.Visible = true; + } + else + { + sensorListView.Visible = true; + showSensor = true; + energyListView.Visible = false; + } + }; + btnChangeClick.MouseUpEventHandler = changeInfoEvent; + + + #endregion + + #endregion + + #region 瀛愭帶鍒楄〃 + + var subTitleView = new FrameLayout() + { + Height = Application.GetRealHeight(54-11), + }; + bodyView.AddChidren(subTitleView); + + var btnCollection = new Button() + { + X = Application.GetRealWidth(6), + Y = Application.GetRealHeight(10), + Width = Application.GetRealWidth(39), + Height = Application.GetRealWidth(39), + IsSelected = function.collect, + UnSelectedImagePath = "FunctionIcon/Acst/grey/CollectionIcon.png", + SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/CollectionIcon.png", + }; + subTitleView.AddChidren(btnCollection); + //鏀惰棌 + btnCollection.MouseUpEventHandler = (sender, e) => { + function.collect = !function.collect; + btnCollection.IsSelected = function.collect; + + //var http = new DAL.Server.HttpServerRequest(); + //http.CollectDevice(function.deviceId); + function.CollectFunction(); + + }; + + var btnTitleText = new Button() + { + X = btnCollection.Right, + Text = "鎴戠殑瀹跺涵", + TextSize = 16, + TextColor = 0xFF242424, + TextAlignment = TextAlignment.CenterLeft, + IsBold = true, + Height = Application.GetRealHeight(54), + }; + subTitleView.AddChidren(btnTitleText); + + int subFunctionCount = 0; + + var subFunctionListView = new HorizontalScrolViewLayout() + { + Height = Application.GetRealHeight(88), + }; + bodyView.AddChidren(subFunctionListView); + + + subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(9) }); + foreach (var sub in FunctionList.List.GetAcstSubList()) + { + if (subViewList.ContainsKey(sub.sid)) + { + continue; + } + + if (subFunctionCount > 0 && subFunctionCount % 2 == 0) + { + subFunctionListView = new HorizontalScrolViewLayout() + { + Height = Application.GetRealHeight(93), + }; + bodyView.AddChidren(subFunctionListView); + subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(9) }); + } + + AcstSubControlView subFunctionView = new AcstSubControlView(sub, subFunctionListView,imageFolder); + + subViewList.Add(sub.sid, subFunctionView); + + + + subFunctionCount++; + } + + #endregion + + bodyView.AddChidren(new Button() + { + Height = Application.GetRealHeight(72), + }); + + #region 搴曢儴鎺у埗鏍� + var bottomView = new FrameLayout() + { + Y = Application.GetRealHeight(667 - 56), + Height = Application.GetRealHeight(56), + BackgroundColor = CSS.CSS_Color.MainBackgroundColor, + }; + this.AddChidren(bottomView); + + var btnModeControl = new Button() + { + X = Application.GetRealWidth(89), + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(38), + Height = Application.GetRealWidth(38), + UnSelectedImagePath = "FunctionIcon/Acst/grey/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() + { + Gravity = Gravity.Center, + Width = Application.GetRealWidth(38), + Height = Application.GetRealWidth(38), + UnSelectedImagePath = "FunctionIcon/Acst/grey/PowerOffIcon.png", + SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/PowerOnIcon.png", + TextAlignment = TextAlignment.Center, + }; + bottomView.AddChidren(btnPowerControl); + + + var btnWorkSceneControl = new Button() + { + Gravity = Gravity.CenterVertical, + X = Application.GetRealWidth(249), + Width = Application.GetRealWidth(38), + Height = Application.GetRealWidth(38), + UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneSleepIcon2.png", + SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneSleepIcon2.png", + TextAlignment = TextAlignment.Center, + }; + bottomView.AddChidren(btnWorkSceneControl); + + + + + #endregion + + + + + + + + InitGetWeatherAction(); + + } + + + + } + + /// <summary> + /// 浼犳劅鍣ㄦ暟鎹粍浠� + /// </summary> + public class SensorDiyView + { + private FrameLayout contentView; + private Button btnValue; + private Button btnText; + public string Tag; + + public SensorDiyView(HorizontalScrolViewLayout view,uint color,string value,string text) + { + ///榛樿Tag 涓轰紶杩涙潵鐨凾ext + Tag = text; + + contentView = new FrameLayout() + { + Width = Application.GetRealWidth(60), + Height = Application.GetRealHeight(72), + }; + view.AddChidren(contentView); + + btnValue = new Button() + { + Y = Application.GetRealHeight(10), + Height = Application.GetRealHeight(72 - 37), + TextAlignment = TextAlignment.Center, + TextColor = color, + TextSize = 20, + Text = value, + }; + contentView.AddChidren(btnValue); + + btnText = new Button() + { + Y = Application.GetRealHeight(72 - 37), + Height = Application.GetRealHeight(37), + TextAlignment = TextAlignment.Center, + TextColor = 0xFF949AA5, + TextSize = 12, + Text = text, + }; + contentView.AddChidren(btnText); + } + + public void UpdateValue(string value) + { + 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