wxr
2020-06-09 77e7b5223dd04a6e036dc952efb38f2b770a6828
HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -1,7 +1,11 @@
using System;
using System.Collections.Generic;
using System.Text;
using HDL_ON.DAL;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Shared;
namespace HDL_ON.UI
@@ -103,13 +107,23 @@
                    Y = Application.GetRealHeight(32),
                    Width = Application.GetRealWidth(200),
                    Height = Application.GetRealHeight(33),
                    TextColor = CSS.CSS_Color.MainBackgroundColor,
                    TextSize = CSS.CSS_FontSize.EmphasisFontSize_FirstLevel,
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                    Text = DB_ResidenceData.residenceData.residecenInfo.Name,
                    IsBold = true
                };
                topView.AddChidren(btnResidenceName);
#if DEBUG
                btnResidenceName.MouseUpEventHandler = (sender, e) =>
                {
                    System.Threading.Tasks.Task.Run(
                        async () => { await DAL.Net.MqttCommon.StartMqtt();
                    });
                };
#endif
                environmentalView = new FrameLayout()
                {
@@ -133,8 +147,8 @@
                    X = btnTempIcon.Right + Application.GetRealWidth(4),
                    Width = Application.GetRealWidth(30),
                    Gravity = Gravity.CenterVertical,
                    TextColor = CSS.CSS_Color.MainBackgroundColor,
                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    Text = MainPage.cityInfo.temperature,
                    TextAlignment = TextAlignment.CenterLeft,
                };
@@ -155,8 +169,8 @@
                    X = btnHumidityIcon.Right + Application.GetRealWidth(4),
                    Width = Application.GetRealWidth(30),
                    Gravity = Gravity.CenterVertical,
                    TextColor = CSS.CSS_Color.MainBackgroundColor,
                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    Text = MainPage.cityInfo.humidity,
                    TextAlignment = TextAlignment.CenterLeft,
                };
@@ -177,8 +191,8 @@
                    X = btnPm25Icon.Right + Application.GetRealWidth(4),
                    Width = Application.GetRealWidth(30),
                    Gravity = Gravity.CenterVertical,
                    TextColor = CSS.CSS_Color.MainBackgroundColor,
                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    Text = MainPage.cityInfo.pm25,
                    TextAlignment = TextAlignment.CenterLeft,
                };
@@ -198,7 +212,7 @@
                var btngb = new Button()
                {
                    BackgroundColor = CSS.CSS_Color.MainColor,//0x3F4484F4,//
                    BackgroundColor = CSS_Color.MainColor,//0x3F4484F4,//
                    Alpha = 0.4f,
                };
                msgView.AddChidren(btngb);
@@ -221,8 +235,8 @@
                    X = Application.GetRealWidth(10) + btnMsgIcon.Right,
                    Width = Application.GetRealWidth(240),
                    Text = "无",
                    TextColor = CSS.CSS_Color.MainBackgroundColor,
                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                msgView.AddChidren(btnMsg);
@@ -233,7 +247,7 @@
                    X = Application.GetRealWidth(299),
                    Width = Application.GetRealWidth(44),
                    Text = "00:00",
                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                msgView.AddChidren(btnMsgTime);
@@ -256,9 +270,9 @@
                {
                    Width = Application.GetRealWidth(114),
                    TextID = StringId.Functions,
                    SelectedTextColor = CSS.CSS_Color.MainColor,
                    TextColor = CSS.CSS_Color.PromptingColor1,
                    TextSize = CSS.CSS_FontSize.HeadlineFontSize,
                    SelectedTextColor = CSS_Color.MainColor,
                    TextColor = CSS_Color.PromptingColor1,
                    TextSize = CSS_FontSize.HeadlineFontSize,
                    TextAlignment = TextAlignment.Center,
                    IsSelected = true,
                    IsBold = true
@@ -271,7 +285,7 @@
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetRealWidth(1),
                    Height = Application.GetRealHeight(14),
                    BackgroundColor = CSS.CSS_Color.PromptingColor1,
                    BackgroundColor = CSS_Color.PromptingColor1,
                };
                changeView.AddChidren(btnLine);
@@ -280,16 +294,13 @@
                    X = btnLine.Right,
                    Width = Application.GetRealWidth(114),
                    TextID = StringId.Scenes,
                    SelectedTextColor = CSS.CSS_Color.MainColor,
                    TextColor = CSS.CSS_Color.PromptingColor1,
                    TextSize = CSS.CSS_FontSize.TextFontSize,
                    SelectedTextColor = CSS_Color.MainColor,
                    TextColor = CSS_Color.PromptingColor1,
                    TextSize = CSS_FontSize.TextFontSize,
                    TextAlignment = TextAlignment.Center,
                };
                changeView.AddChidren(btnChangeScene);
                #endregion
                //bodyView.AddChidren(new Button() { Y = changeView.Bottom, Height = Application.GetRealHeight(10), BackgroundColor = 0xAAF2F3F7 });
                #region ContextView
                contentView = new PageLayout()
@@ -374,6 +385,33 @@
                    LoadDeviceFunctionDiv(functionView, function);
                    index++;
                }
                if (index == 0)
                {
                    var view = new FrameLayout();
                    deviceFunctionView.AddChidren(view);
                    var btnNoCollectionBg = new Button()
                    {
                        Y = Application.GetRealHeight(20),
                        Gravity = Gravity.CenterHorizontal,
                        Width = Application.GetRealWidth(180),
                        Height = Application.GetRealWidth(180),
                        UnSelectedImagePath = "Collection/NoCollectionBg.png",
                    };
                    view.AddChidren(btnNoCollectionBg);
                    var btnNoCollectionTip = new Button()
                    {
                        Height = Application.GetRealHeight(42),
                        Y = btnNoCollectionBg.Bottom,
                        TextAlignment = TextAlignment.Center,
                        TextColor = CSS_Color.PromptingColor1,
                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                        TextID = StringId.TipNoCollcetion,
                    };
                    view.AddChidren(btnNoCollectionTip);
                }
            }
            catch (Exception ex)
            {
@@ -427,6 +465,7 @@
                    LoadSceneFunctionDiv( functionView, function);
                    index++;
                }
            }
            catch (Exception ex)
            {
@@ -460,8 +499,8 @@
                    Y = Application.GetRealWidth(10) + btnIcon.Bottom,
                    Text = function.name,
                    IsBold = true,
                    TextColor = CSS.CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS.CSS_FontSize.TextFontSize,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.TextFontSize,
                    Height = Application.GetRealWidth(24),
                    Width = Application.GetRealWidth(140),
                    TextAlignment = TextAlignment.CenterLeft,
@@ -475,10 +514,10 @@
                    Y = btnName.Bottom,
                    Height = Application.GetRealWidth(18),
                    Width = Application.GetRealWidth(113),
                    TextColor = CSS.CSS_Color.PromptingColor1,
                    TextSize = CSS.CSS_FontSize.PromptFontSize_SecondaryLevel,
                    TextColor = CSS_Color.PromptingColor1,
                    TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                    SelectedTextColor = CSS.CSS_Color.MainBackgroundColor,
                    SelectedTextColor = CSS_Color.MainBackgroundColor,
                    Text = function.GetRoomListName()
                };
                view.AddChidren(btnZone);
@@ -490,9 +529,9 @@
                    Y = btnZone.Bottom,
                    Height = Application.GetRealWidth(18),
                    Width = Application.GetRealWidth(113),
                    SelectedTextColor = CSS.CSS_Color.MainBackgroundColor,
                    SelectedTextColor = CSS_Color.MainBackgroundColor,
                    TextColor = 0x00000000,
                    TextSize = CSS.CSS_FontSize.PromptFontSize_SecondaryLevel,
                    TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                    Tag = "state",
                    Text = function.lastState
@@ -541,6 +580,20 @@
                    view.AddChidren(btnCurtainOpen);
                    LoadEvent_ControlCurtain(function as Curtain, btnCurtainClose, btnCurtainOpen);
                }else if(function.functionType== FunctionType.TV)
                {
                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVIcon.png";
                    Button btnPower;
                    btnPower = new Button()
                    {
                        X = Application.GetRealWidth(131),
                        Y = Application.GetRealHeight(86),
                        Width = Application.GetRealWidth(32),
                        Height = Application.GetRealWidth(32),
                        UnSelectedImagePath = "Public/PowerClose.png",
                    };
                    view.AddChidren(btnPower);
                    LoadEvent_ControlTV(function as TV, btnPower);
                }
                else
                {
@@ -582,6 +635,24 @@
                                    break;
                            }
                            break;
                        case FunctionCategory.SwitchDevice:
                            switch (function.functionType)
                            {
                                case FunctionType.Socket:
                                    btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketIcon.png";
                                    btnIcon.SelectedImagePath = "FunctionIcon/Socket/SocketOnIcon.png";
                                    break;
                            }
                            break;
                        case FunctionCategory.Electrical:
                            switch(function.functionType)
                            {
                                case FunctionType.Fan:
                                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanIcon.png";
                                    btnIcon.SelectedImagePath = "FunctionIcon/Electrical/FanOnIcon.png";
                                    break;
                            }
                            break;
                    }
                    LoadEvent_SwitchFunction(function, btnSwitch);
                }
@@ -590,7 +661,11 @@
                btnName.MouseUpEventHandler = skipControlPageEvent;
                btnIcon.MouseUpEventHandler = skipControlPageEvent;
                btnState.MouseUpEventHandler = skipControlPageEvent;
                UpdataFunctionStates(function);
                //电视不需要更新状态
                if(function.functionType!= FunctionType.TV)
                {
                    UpdataFunctionStates(function);
                }
            }
            catch (Exception ex)
            {
@@ -627,10 +702,10 @@
                    Y = btnName.Bottom,
                    Height = Application.GetRealWidth(18),
                    Width = Application.GetRealWidth(113),
                    TextColor = CSS.CSS_Color.MainBackgroundColor,
                    TextSize = CSS.CSS_FontSize.PromptFontSize_SecondaryLevel,
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                    SelectedTextColor = CSS.CSS_Color.MainBackgroundColor,
                    SelectedTextColor = CSS_Color.MainBackgroundColor,
                    Text = function.GetRoomListName(),
                };
                view.AddChidren(btnZone);