wxr
2021-06-09 cb6e11c5067ecaba4d8f9907989154167c1e8943
HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -35,13 +35,21 @@
        /// </summary>
        FrameLayout environmentalView;
        /// <summary>
        /// 当前温度信息
        /// 当前温度信息-室外
        /// </summary>
        TextButton btnTempValues;
        /// <summary>
        /// 当前湿度信息
        /// 当前湿度信息-室外
        /// </summary>
        TextButton btnHumidityValues;
        /// <summary>
        /// 当前温度信息-室内
        /// </summary>
        TextButton btnIndoorTempValues;
        /// <summary>
        /// 当前湿度信息-室内
        /// </summary>
        TextButton btnIndoorHumiValues;
        /// <summary>
        /// 当前pm2.5状态
        /// </summary>
@@ -184,9 +192,27 @@
                };
                topView.AddChidren(environmentalView);
                #region 环境数据
                var tempSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorTemperature);
                var humiSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorHumidity);
                var btnEnvirValuesTitle = new Button() {
                    X = Application.GetRealWidth(12),
                    Gravity = Gravity.CenterVertical,
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextID = StringId.InOutdoor,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                if (tempSensorList.Count > 0 || humiSensorList.Count > 0)
                {
                    btnEnvirValuesTitle.Width = Application.GetRealWidth(8)+ btnEnvirValuesTitle.GetTextWidth();
                }
                environmentalView.AddChidren(btnEnvirValuesTitle);
                Button btnTempIcon = new Button()
                {
                    X = Application.GetRealWidth(12),
                    X = btnEnvirValuesTitle.Right,//+ Application.GetRealWidth(4),
                    //X = Application.GetRealWidth(12),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
@@ -197,18 +223,44 @@
                btnTempValues = new TextButton()
                {
                    X = btnTempIcon.Right + Application.GetRealWidth(4),
                    Width = Application.GetRealWidth(30),
                    Gravity = Gravity.CenterVertical,
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    Text = MainPage.cityInfo.temperature + "°",
                    TextAlignment = TextAlignment.CenterLeft,
                };
                btnTempValues.Width = btnTempValues.GetTextWidth();
                environmentalView.AddChidren(btnTempValues);
                btnIndoorTempValues = new TextButton()
                {
                    X = btnTempValues.Right,
                    Gravity = Gravity.CenterVertical,
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                    Text = "/--°",
                };
                if (tempSensorList.Count > 0)
                {
                    double tempTotalValues = 0;
                    foreach (var temp in tempSensorList)
                    {
                        double tempValue = 0;
                        double.TryParse(temp.GetAttrState(FunctionAttributeKey.Value), out tempValue);
                        tempTotalValues += tempValue;
                    }
                    if (tempTotalValues > 0)
                    {
                        btnIndoorTempValues.Text = "/" + tempTotalValues + "°";
                    }
                    btnIndoorTempValues.Width = btnIndoorTempValues.GetTextWidth();
                }
                environmentalView.AddChidren(btnIndoorTempValues);
                Button btnHumidityIcon = new Button()
                {
                    X = btnTempValues.Right + Application.GetRealWidth(2),
                    X = btnIndoorTempValues.Right + Application.GetRealWidth(8),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
@@ -219,18 +271,44 @@
                btnHumidityValues = new TextButton()
                {
                    X = btnHumidityIcon.Right + Application.GetRealWidth(4),
                    Width = Application.GetRealWidth(30),
                    Gravity = Gravity.CenterVertical,
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    Text = MainPage.cityInfo.humidity + "%",
                    TextAlignment = TextAlignment.CenterLeft,
                };
                btnHumidityValues.Width = btnHumidityValues.GetTextWidth();
                environmentalView.AddChidren(btnHumidityValues);
                btnIndoorHumiValues = new TextButton()
                {
                    X = btnHumidityValues.Right,
                    Gravity = Gravity.CenterVertical,
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                    Text = "/--%",
                };
                if (tempSensorList.Count > 0)
                {
                    double humiTotalValues = 0;
                    foreach (var humi in humiSensorList)
                    {
                        double humiValue = 0;
                        double.TryParse(humi.GetAttrState(FunctionAttributeKey.Value), out humiValue);
                        humiTotalValues += humiValue;
                    }
                    if (humiTotalValues > 0)
                    {
                        btnIndoorHumiValues.Text = "/" + humiTotalValues + "%";
                    }
                    btnIndoorHumiValues.Width = btnIndoorHumiValues.GetTextWidth();
                }
                environmentalView.AddChidren(btnIndoorHumiValues);
                Button btnPm25Icon = new Button()
                {
                    X = btnHumidityValues.Right + Application.GetRealWidth(2),
                    X = btnIndoorHumiValues.Right + Application.GetRealWidth(4),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
@@ -241,13 +319,13 @@
                btnPm25Values = new TextButton()
                {
                    X = btnPm25Icon.Right + Application.GetRealWidth(4),
                    Width = Application.GetRealWidth(130),
                    Gravity = Gravity.CenterVertical,
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    Text = MainPage.cityInfo.pm25,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                btnPm25Values.Width = btnPm25Values.GetTextWidth();
                environmentalView.AddChidren(btnPm25Values);
                #endregion
@@ -383,7 +461,86 @@
#if DEBUG
            //FunctionList.List.Functions.Add(new Function() { spk = SPK.ClothesHanger, name = "测试凉霸", attributes = new List<FunctionAttributes> { new FunctionAttributes { key = FunctionAttributeKey.HotDry } ,new FunctionAttributes { key = FunctionAttributeKey.HotDryTime } ,new FunctionAttributes { key = FunctionAttributeKey.HotDryTimeLeft } } });
            FunctionList.List.Functions.Add(new Function() { spk = SPK.PjtIr, name = "测试投影仪",
                                        attributes = new List<FunctionAttributes>() {
                                            new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
                                            new FunctionAttributes(){ key = "computer",value = new List<string>(){"电脑" } },
                                            new FunctionAttributes(){ key = "video",value = new List<string>(){"视频" } },
                                            new FunctionAttributes(){ key = "source",value = new List<string>(){"信号源" } },
                                            new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"变焦+" } },
                                            new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"变焦-" } },
                                            new FunctionAttributes(){ key = "page+",value = new List<string>(){"画面+" } },
                                            new FunctionAttributes(){ key = "page-",value = new List<string>(){"画面-" } },
                                            new FunctionAttributes(){ key = "menu",value = new List<string>(){"菜单" } },
                                            new FunctionAttributes(){ key = "ok",value = new List<string>(){"确认" } },
                                            new FunctionAttributes(){ key = "up",value = new List<string>(){"上" } },
                                            new FunctionAttributes(){ key = "left",value = new List<string>(){"左" } },
                                            new FunctionAttributes(){ key = "right",value = new List<string>(){"右" } },
                                            new FunctionAttributes(){ key = "down",value = new List<string>(){"下" } },
                                            new FunctionAttributes(){ key = "exit",value = new List<string>(){"退出" } },
                                            new FunctionAttributes(){ key = "volume+",value = new List<string>(){"音量+" } },
                                            new FunctionAttributes(){ key = "volume-",value = new List<string>(){"音量-" } },
                                            new FunctionAttributes(){ key = "mute",value = new List<string>(){"静音" } },
                                            new FunctionAttributes(){ key = "auto",value = new List<string>(){"自动" } },
                                            new FunctionAttributes(){ key = "pause",value = new List<string>(){"暂停" } },
                                        }
            });
            FunctionList.List.Functions.Add(new Function()
            {
                spk = SPK.StbIr,
                name = "测试机顶盒",
                attributes = new List<FunctionAttributes>() {
                                            new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
                                            new FunctionAttributes(){ key = "computer",value = new List<string>(){"电脑" } },
                                            new FunctionAttributes(){ key = "video",value = new List<string>(){"视频" } },
                                            new FunctionAttributes(){ key = "source",value = new List<string>(){"信号源" } },
                                            new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"变焦+" } },
                                            new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"变焦-" } },
                                            new FunctionAttributes(){ key = "page+",value = new List<string>(){"画面+" } },
                                            new FunctionAttributes(){ key = "page-",value = new List<string>(){"画面-" } },
                                            new FunctionAttributes(){ key = "menu",value = new List<string>(){"菜单" } },
                                            new FunctionAttributes(){ key = "ok",value = new List<string>(){"确认" } },
                                            new FunctionAttributes(){ key = "up",value = new List<string>(){"上" } },
                                            new FunctionAttributes(){ key = "left",value = new List<string>(){"左" } },
                                            new FunctionAttributes(){ key = "right",value = new List<string>(){"右" } },
                                            new FunctionAttributes(){ key = "down",value = new List<string>(){"下" } },
                                            new FunctionAttributes(){ key = "exit",value = new List<string>(){"退出" } },
                                            new FunctionAttributes(){ key = "volume+",value = new List<string>(){"音量+" } },
                                            new FunctionAttributes(){ key = "volume-",value = new List<string>(){"音量-" } },
                                            new FunctionAttributes(){ key = "mute",value = new List<string>(){"静音" } },
                                            new FunctionAttributes(){ key = "auto",value = new List<string>(){"自动" } },
                                            new FunctionAttributes(){ key = "pause",value = new List<string>(){"暂停" } },
                                        }
            });
            FunctionList.List.Functions.Add(new Function()
            {
                spk = SPK.TvIr,
                name = "测试电视",
                attributes = new List<FunctionAttributes>() {
                                            new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
                                            new FunctionAttributes(){ key = "computer",value = new List<string>(){"电脑" } },
                                            new FunctionAttributes(){ key = "video",value = new List<string>(){"视频" } },
                                            new FunctionAttributes(){ key = "source",value = new List<string>(){"信号源" } },
                                            new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"变焦+" } },
                                            new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"变焦-" } },
                                            new FunctionAttributes(){ key = "page+",value = new List<string>(){"画面+" } },
                                            new FunctionAttributes(){ key = "page-",value = new List<string>(){"画面-" } },
                                            new FunctionAttributes(){ key = "menu",value = new List<string>(){"菜单" } },
                                            new FunctionAttributes(){ key = "ok",value = new List<string>(){"确认" } },
                                            new FunctionAttributes(){ key = "up",value = new List<string>(){"上" } },
                                            new FunctionAttributes(){ key = "left",value = new List<string>(){"左" } },
                                            new FunctionAttributes(){ key = "right",value = new List<string>(){"右" } },
                                            new FunctionAttributes(){ key = "down",value = new List<string>(){"下" } },
                                            new FunctionAttributes(){ key = "exit",value = new List<string>(){"退出" } },
                                            new FunctionAttributes(){ key = "volume+",value = new List<string>(){"音量+" } },
                                            new FunctionAttributes(){ key = "volume-",value = new List<string>(){"音量-" } },
                                            new FunctionAttributes(){ key = "mute",value = new List<string>(){"静音" } },
                                            new FunctionAttributes(){ key = "auto",value = new List<string>(){"自动" } },
                                            new FunctionAttributes(){ key = "pause",value = new List<string>(){"暂停" } },
                                        }
            });
#endif
        }
@@ -683,6 +840,11 @@
                };
                view.AddChidren(btnIcon);
                btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
                btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                Button btnName;
                btnName = new Button()
                {
@@ -784,14 +946,17 @@
                    LoadEvent_ControlCurtain(function, btnCurtainClose, btnCurtainOpen);
                }
                else if (function.spk == SPK.ElectricTV || function.spk == SPK.TvIr)
                else if (function.spk == SPK.ElectricTV || function.spk == SPK.TvIr || function.spk == SPK.TvXmIr
                    || function.spk == SPK.StbIr || function.spk == SPK.PjtIr)
                {
                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVIcon.png";
                    //btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
                    //btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                    Button btnPower;
                    btnPower = new Button()
                    {
                        X = Application.GetRealWidth(131),
                        Y = Application.GetRealHeight(70),
                        Y = Application.GetRealHeight(80),
                        Width = Application.GetRealWidth(32),
                        Height = Application.GetRealWidth(32),
                        UnSelectedImagePath = "Public/PowerClose.png",
@@ -971,7 +1136,7 @@
                btnIcon.MouseUpEventHandler = skipControlPageEvent;
                btnState.MouseUpEventHandler = skipControlPageEvent;
                //电视不需要更新状态
                if(function.spk!= SPK.ElectricTV)
                if(function.spk!= SPK.ElectricTV && function.spk != SPK.StbIr && function.spk != SPK.PjtIr)
                {
                    UpdataFunctionStates(function);
                }