| | |
| | | { |
| | | |
| | | #region 控件列表 |
| | | FrameLayout bodyView; |
| | | static ClassificationPage bodyView; |
| | | #region 顶部控件 |
| | | /// <summary> |
| | | /// 房间分页 |
| | |
| | | /// </summary> |
| | | Button btnFuncTitle; |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// 房间/功能分页区域 |
| | | /// </summary> |
| | | PageLayout contentPageView; |
| | | #region 房间区域 |
| | | FrameLayout roomPageView; |
| | | /// <summary> |
| | | /// 房间内容显示区域 |
| | | /// </summary> |
| | | FrameLayout roomContentView; |
| | | FrameLayout roomFloorChangeView; |
| | | #region 房间底部切换显示区域 |
| | | /// <summary> |
| | | /// 房间区域,顶部区域 |
| | |
| | | /// <summary> |
| | | /// 楼层选择下拉图标 |
| | | /// </summary> |
| | | Button btnFoorDownIcon; |
| | | Button btnFloorDownIcon; |
| | | /// <summary> |
| | | /// 楼层显示 |
| | | /// </summary> |
| | | Button btnFoor; |
| | | Button btnFloor; |
| | | /// <summary> |
| | | /// 显示方式切换按钮 |
| | | /// </summary> |
| | |
| | | /// 房间列表区域 |
| | | /// </summary> |
| | | VerticalScrolViewLayout roomListView; |
| | | /// <summary> |
| | | /// 房间区域集合 |
| | | /// </summary> |
| | | List<FrameLayout> roomViewList; |
| | | #endregion |
| | | |
| | | #region 功能区域 |
| | | VerticalScrolViewLayout functionsPageView; |
| | | |
| | | #endregion |
| | | |
| | | |
| | | #endregion |
| | | |
| | | |
| | | List<Room> roomsShowed; |
| | | |
| | | public ClassificationPage() |
| | | { |
| | | bodyView = this; |
| | | roomsShowed = new List<Room>(); |
| | | roomsShowed.AddRange(DB_ResidenceData.rooms); |
| | | } |
| | | |
| | | public void LoadPage() |
| | |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | TextColor = CSS_Color.PromptingColor1, |
| | | SelectedTextColor = CSS_Color.MainColor, |
| | | TextID = StringId.Devices, |
| | | TextID = StringId.Functions, |
| | | }; |
| | | topView.AddChidren(btnFuncTitle); |
| | | |
| | | #endregion |
| | | |
| | | contentPageView = new PageLayout() |
| | | { |
| | | Y = Application.GetRealHeight(64), |
| | | Height = Application.GetRealHeight(667 - 64 - 49 + 30), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | IsShowPoint = false |
| | | }; |
| | | bodyView.AddChidren(contentPageView); |
| | | |
| | | LoadRoomPageView(); |
| | | LoadFunctionPageView(); |
| | | LoadEventList(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 加载房间列表界面 |
| | | /// </summary> |
| | | void LoadRoomPageView() |
| | | { |
| | | #region 房间区域 |
| | | roomPageView = new FrameLayout(); |
| | | contentPageView.AddChidren(roomPageView); |
| | | /// <summary> |
| | | /// 房间内容显示区域 |
| | | /// </summary> |
| | | roomContentView = new FrameLayout() |
| | | roomFloorChangeView = new FrameLayout() |
| | | { |
| | | Y = Application.GetRealHeight(64), |
| | | Height = Application.GetRealHeight(52), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | }; |
| | | bodyView.AddChidren(roomContentView); |
| | | #region 房间底部切换显示区域 |
| | | roomPageView.AddChidren(roomFloorChangeView); |
| | | #region 房间顶部切换显示区域 |
| | | /// <summary> |
| | | /// 房间区域,顶部区域 |
| | | /// </summary> |
| | |
| | | { |
| | | Height = Application.GetRealHeight(53), |
| | | }; |
| | | roomContentView.AddChidren(roomTopView); |
| | | roomFloorChangeView.AddChidren(roomTopView); |
| | | /// <summary> |
| | | /// 楼层选择下拉图标 |
| | | /// </summary> |
| | | btnFoorDownIcon = new Button() |
| | | btnFloorDownIcon = new Button() |
| | | { |
| | | Width = Application.GetMinRealAverage(16), |
| | | Height = Application.GetMinRealAverage(16), |
| | |
| | | Y = Application.GetRealHeight(18), |
| | | UnSelectedImagePath = "Public/DownIcon.png", |
| | | }; |
| | | roomContentView.AddChidren(btnFoorDownIcon); |
| | | roomFloorChangeView.AddChidren(btnFloorDownIcon); |
| | | /// <summary> |
| | | /// 楼层显示 |
| | | /// </summary> |
| | | btnFoor = new Button() |
| | | btnFloor = new Button() |
| | | { |
| | | X = btnFoorDownIcon.Right, |
| | | X = btnFloorDownIcon.Right, |
| | | Y = Application.GetRealHeight(18), |
| | | Width = Application.GetRealWidth(200), |
| | | Height = Application.GetMinRealAverage(16), |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = UserConfig.Instance.CurFoor, |
| | | Text = DB_ResidenceData.residenceData.CurFoor, |
| | | }; |
| | | roomContentView.AddChidren(btnFoor); |
| | | roomFloorChangeView.AddChidren(btnFloor); |
| | | /// <summary> |
| | | /// 显示方式切换按钮 |
| | | /// </summary> |
| | | btnSwitchDipaly = new Button() |
| | | { |
| | | X = Application.GetRealWidth(335), |
| | | Y = Application.GetRealHeight(12), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "Classification/ToggleDisplayThumbnail.png",//缩略图 |
| | | SelectedImagePath = "Classification/ToggleDisplayLarge.png", |
| | | }; |
| | | roomContentView.AddChidren(btnSwitchDipaly); |
| | | //btnSwitchDipaly = new Button() |
| | | //{ |
| | | // X = Application.GetRealWidth(335), |
| | | // Y = Application.GetRealHeight(12), |
| | | // Width = Application.GetMinRealAverage(28), |
| | | // Height = Application.GetMinRealAverage(28), |
| | | // UnSelectedImagePath = "Classification/ToggleDisplayThumbnail.png",//缩略图 |
| | | // SelectedImagePath = "Classification/ToggleDisplayLarge.png", |
| | | //}; |
| | | //roomFloorChangeView.AddChidren(btnSwitchDipaly); |
| | | #endregion |
| | | |
| | | |
| | | /// <summary> |
| | | /// 房间列表区域 |
| | | /// </summary> |
| | | roomListView = new VerticalScrolViewLayout() |
| | | { |
| | | Y = roomContentView.Bottom, |
| | | Height = Application.GetRealHeight(497 + 10+30), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | Y = roomFloorChangeView.Bottom, |
| | | Height = Application.GetRealHeight(497 + 10 + 30), |
| | | //BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | }; |
| | | bodyView.AddChidren(roomListView); |
| | | /// <summary> |
| | | /// 房间区域集合 |
| | | /// </summary> |
| | | roomViewList = new List<FrameLayout>(); |
| | | roomPageView.AddChidren(roomListView); |
| | | LoadRoomRows(); |
| | | roomListView.AddChidren(new Button() { Height = Application.GetRealHeight(20) });//太高视图,将导航了遮挡的部分完整显示 |
| | | #endregion |
| | | |
| | | LoadDialog_ChangeFloor(); |
| | | } |
| | | |
| | | #if DEBUG1 |
| | | var r = new Room() { sid = "0001", name = "Room-1", floor = "1F", backgroundImage = "Classification/Room/Roombg.png" }; |
| | | r.functions.Add(new Function() |
| | | { |
| | | sid = "000000000000000000000000000000000001", |
| | | funcType = FunctionType.AC, |
| | | name = "空调", |
| | | roomIdList = new List<string>() { "0001" }, |
| | | lastState = "制冷 中风 18°C", |
| | | bus_Data = "{" + |
| | | "\"SubnetID\":42" + "," + |
| | | "\"DeviceID\":8" + "," + |
| | | "\"LoopID\":1" + |
| | | "}", |
| | | }); |
| | | r.functions.Add(new Dimmer() |
| | | { |
| | | sid = "0001002019101209000025670400010002", |
| | | funcType = FunctionType.Light, |
| | | name = "客厅灯", |
| | | roomIdList = new List<string>() { "0001" }, |
| | | lastState = "20%", |
| | | bus_Data = "{" + |
| | | "\"SubnetID\":111" + "," + |
| | | "\"DeviceID\":2" + "," + |
| | | "\"LoopID\":1" + |
| | | "}", |
| | | }); |
| | | r.functions.Add(new MotorCurtain() |
| | | { |
| | | sid = "000000000000000000000000000000000003", |
| | | funcType = FunctionType.Curtain, |
| | | name = "窗帘", |
| | | roomIdList = new List<string>() { "0001" }, |
| | | lastState = "20%", |
| | | bus_Data = "{" + |
| | | "\"SubnetID\":42" + "," + |
| | | "\"DeviceID\":7" + "," + |
| | | "\"LoopID\":1" + |
| | | "}", |
| | | }); |
| | | r.functions.Add(new Function() |
| | | { |
| | | sid = "000000000000000000000000000000000004", |
| | | funcType = FunctionType.FloorHeating, |
| | | name = "地热", |
| | | roomIdList = new List<string>() { "0001" }, |
| | | lastState = "" |
| | | }); |
| | | r.functions.Add(new Light() |
| | | { |
| | | sid = "0001002019101209000025670400010005", |
| | | funcType = FunctionType.Light, |
| | | name = "客厅大灯", |
| | | roomIdList = new List<string>() { "0001" }, |
| | | bus_Data = "{" + |
| | | "\"SubnetID\":111" + "," + |
| | | "\"DeviceID\":6" + "," + |
| | | "\"LoopID\":1" + |
| | | "}", |
| | | }); |
| | | r.functions.Add(new RGBLight() |
| | | { |
| | | sid = "0001002019101209000025670500010006", |
| | | funcType = FunctionType.Light, |
| | | name = "客厅RGB灯", |
| | | roomIdList = new List<string>() { "0001" }, |
| | | bus_Data = "{" + |
| | | "\"SubnetID\":222" + "," + |
| | | "\"DeviceID\":222" + "," + |
| | | "\"LoopID\":222" + |
| | | "}", |
| | | }); |
| | | |
| | | DB_ResidenceData.residenceData.rooms.Add(r); |
| | | |
| | | #endif |
| | | |
| | | |
| | | foreach (var room in DB_ResidenceData.residenceData.rooms) |
| | | /// <summary> |
| | | /// 加载房间列表区域 |
| | | /// </summary> |
| | | void LoadRoomRows() |
| | | { |
| | | roomListView.RemoveAll(); |
| | | foreach (var room in roomsShowed) |
| | | { |
| | | var roomView = new FrameLayout() |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Width = Application.GetRealWidth(343), |
| | | Height = Application.GetRealHeight(184), |
| | | Radius = (uint)Application.GetRealHeight(12), |
| | | BorderColor = 0x00000000, |
| | | BorderWidth = 1, |
| | | Radius = (uint)Application.GetRealWidth(12), |
| | | Tag = room.sid, |
| | | }; |
| | | roomListView.AddChidren(roomView); |
| | | |
| | | var roomViewbg = new Button() |
| | | var roomViewbg = new ImageView() |
| | | { |
| | | UnSelectedImagePath = room.backgroundImage, |
| | | Width = Application.GetRealWidth(343), |
| | | Height = Application.GetRealHeight(184), |
| | | ImagePath = room.backgroundImage, |
| | | Radius = (uint)Application.GetRealWidth(12), |
| | | }; |
| | | roomView.AddChidren(roomViewbg); |
| | | |
| | | var roomViewbgColor = new Button() |
| | | { |
| | | Radius = (uint)Application.GetRealWidth(12), |
| | | BackgroundColor = 0x19333333, |
| | | }; |
| | | roomView.AddChidren(roomViewbgColor); |
| | |
| | | Y = Application.GetRealHeight(12 - 2), |
| | | Width = Application.GetRealWidth(266), |
| | | Height = Application.GetRealHeight(22 + 2 + 2), |
| | | Text = room.floor + " " + room.name, |
| | | Text = room.floorName + room.name, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.MainBackgroundColor, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | }; |
| | | roomView.AddChidren(btnFloorAndRoomName); |
| | | |
| | | |
| | | #region 环境数据 |
| | | var environmentalView = new FrameLayout() |
| | | { |
| | | Y = Application.GetRealHeight(2) + btnFloorAndRoomName.Bottom, |
| | | Height = Application.GetRealHeight(32), |
| | | Tag = "EnvironmentalView", |
| | | }; |
| | | topView.AddChidren(environmentalView); |
| | | { |
| | | Y = Application.GetRealHeight(2) + btnFloorAndRoomName.Bottom, |
| | | Height = Application.GetRealHeight(32), |
| | | Tag = "EnvironmentalView", |
| | | }; |
| | | roomView.AddChidren(environmentalView); |
| | | |
| | | Button btnTempIcon = new Button() |
| | | { |
| | | X = Application.GetRealWidth(12), |
| | | Gravity = Gravity.CenterVertical, |
| | | Width = Application.GetMinRealAverage(16), |
| | | Height = Application.GetMinRealAverage(16), |
| | | UnSelectedImagePath = "Public/InfoIcon/TempIcon.png", |
| | | }; |
| | | environmentalView.AddChidren(btnTempIcon); |
| | | Button btnTempIcon = new Button() |
| | | { |
| | | X = Application.GetRealWidth(12), |
| | | Gravity = Gravity.CenterVertical, |
| | | Width = Application.GetMinRealAverage(16), |
| | | Height = Application.GetMinRealAverage(16), |
| | | UnSelectedImagePath = "Public/DeviceInfoIcon/TempIcon.png", |
| | | }; |
| | | environmentalView.AddChidren(btnTempIcon); |
| | | |
| | | var btnTempValues = new Button() |
| | | { |
| | | X = btnTempIcon.Right + Application.GetRealWidth(4), |
| | | Width = Application.GetRealWidth(30), |
| | | Gravity = Gravity.CenterVertical, |
| | | TextColor = CSS.CSS_Color.MainBackgroundColor, |
| | | TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Text = "--°", |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Tag = "TempValues" |
| | | }; |
| | | environmentalView.AddChidren(btnTempValues); |
| | | var btnTempValues = new Button() |
| | | { |
| | | X = btnTempIcon.Right + Application.GetRealWidth(4), |
| | | Width = Application.GetRealWidth(30), |
| | | Gravity = Gravity.CenterVertical, |
| | | TextColor = CSS_Color.MainBackgroundColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Text = "--°", |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Tag = "TempValues" |
| | | }; |
| | | environmentalView.AddChidren(btnTempValues); |
| | | |
| | | Button btnHumidityIcon = new Button() |
| | | { |
| | | X = btnTempValues.Right + Application.GetRealWidth(2), |
| | | Gravity = Gravity.CenterVertical, |
| | | Width = Application.GetMinRealAverage(16), |
| | | Height = Application.GetMinRealAverage(16), |
| | | UnSelectedImagePath = "Public/InfoIcon/HumidityIcon.png", |
| | | }; |
| | | environmentalView.AddChidren(btnHumidityIcon); |
| | | Button btnHumidityIcon = new Button() |
| | | { |
| | | X = btnTempValues.Right + Application.GetRealWidth(2), |
| | | Gravity = Gravity.CenterVertical, |
| | | Width = Application.GetMinRealAverage(16), |
| | | Height = Application.GetMinRealAverage(16), |
| | | UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png", |
| | | }; |
| | | environmentalView.AddChidren(btnHumidityIcon); |
| | | |
| | | var btnHumidityValues = new Button() |
| | | { |
| | | X = btnHumidityIcon.Right + Application.GetRealWidth(4), |
| | | Width = Application.GetRealWidth(30), |
| | | Gravity = Gravity.CenterVertical, |
| | | TextColor = CSS.CSS_Color.MainBackgroundColor, |
| | | TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Text = "--%", |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Tag = "HumidityValues" |
| | | }; |
| | | environmentalView.AddChidren(btnHumidityValues); |
| | | var btnHumidityValues = new Button() |
| | | { |
| | | X = btnHumidityIcon.Right + Application.GetRealWidth(4), |
| | | Width = Application.GetRealWidth(30), |
| | | Gravity = Gravity.CenterVertical, |
| | | TextColor = CSS_Color.MainBackgroundColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Text = "--%", |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Tag = "HumidityValues" |
| | | }; |
| | | environmentalView.AddChidren(btnHumidityValues); |
| | | |
| | | Button btnPm25Icon = new Button() |
| | | { |
| | | X = btnHumidityValues.Right + Application.GetRealWidth(2), |
| | | Gravity = Gravity.CenterVertical, |
| | | Width = Application.GetMinRealAverage(16), |
| | | Height = Application.GetMinRealAverage(16), |
| | | UnSelectedImagePath = "Public/InfoIcon/Pm25Icon.png", |
| | | }; |
| | | environmentalView.AddChidren(btnPm25Icon); |
| | | Button btnPm25Icon = new Button() |
| | | { |
| | | X = btnHumidityValues.Right + Application.GetRealWidth(2), |
| | | Gravity = Gravity.CenterVertical, |
| | | Width = Application.GetMinRealAverage(16), |
| | | Height = Application.GetMinRealAverage(16), |
| | | UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png", |
| | | }; |
| | | environmentalView.AddChidren(btnPm25Icon); |
| | | |
| | | var btnPm25Values = new Button() |
| | | { |
| | | X = btnPm25Icon.Right + Application.GetRealWidth(4), |
| | | Width = Application.GetRealWidth(30), |
| | | Gravity = Gravity.CenterVertical, |
| | | TextColor = CSS.CSS_Color.MainBackgroundColor, |
| | | TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Text = "--", |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Tag = "Pm25Values" |
| | | }; |
| | | environmentalView.AddChidren(btnPm25Values); |
| | | roomView.AddChidren(environmentalView); |
| | | var btnPm25Values = new Button() |
| | | { |
| | | X = btnPm25Icon.Right + Application.GetRealWidth(4), |
| | | Width = Application.GetRealWidth(30), |
| | | Gravity = Gravity.CenterVertical, |
| | | TextColor = CSS_Color.MainBackgroundColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Text = "--", |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Tag = "Pm25Values" |
| | | }; |
| | | environmentalView.AddChidren(btnPm25Values); |
| | | roomView.AddChidren(environmentalView); |
| | | #endregion |
| | | |
| | | var btnAllClose = new Button() |
| | | { |
| | | X = Application.GetRealWidth(282), |
| | | Y = Application.GetRealHeight(126), |
| | | Width = Application.GetMinRealAverage(58), |
| | | Height = Application.GetMinRealAverage(58), |
| | | UnSelectedImagePath = "", |
| | | SelectedImagePath = "Classification/Room/AllCloseIcon.png", |
| | | UnSelectedImagePath = "Classification/Room/AllCloseIcon.png", |
| | | Tag = "AllClose", |
| | | Visible = false |
| | | }; |
| | | roomView.AddChidren(btnAllClose); |
| | | #if DEBUG |
| | | btnAllClose.IsSelected = true; |
| | | #endif |
| | | LoadEvent_CloseAllFunction(btnAllClose, room); |
| | | |
| | | var btn = new Button() |
| | | { |
| | |
| | | }; |
| | | roomListView.AddChidren(btn); |
| | | |
| | | roomViewbgColor.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | Action<Room > ReloadRoomName = (obj) => { |
| | | btnFloorAndRoomName.Text = obj.floorName + obj.name; |
| | | }; |
| | | |
| | | roomViewList.Add(roomView); |
| | | |
| | | roomViewbgColor.MouseUpEventHandler += (sender, e) => { |
| | | var view = new RoomPage(room); |
| | | var view = new RoomPage(room, ReloadRoomName); |
| | | MainPage.BasePageView.AddChidren(view); |
| | | view.LoadPage(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | |
| | | } |
| | | } |
| | | |
| | | roomListView.AddChidren(new Button() { Height = Application.GetRealHeight(20) });//太高视图,将导航了遮挡的部分完整显示 |
| | | /// <summary> |
| | | /// 加载功能列表界面 |
| | | /// </summary> |
| | | void LoadFunctionPageView() |
| | | { |
| | | #region |
| | | functionsPageView = new VerticalScrolViewLayout() |
| | | { |
| | | BackgroundColor = CSS_Color.BackgroundColor, |
| | | Height = Application.GetRealHeight(667 - 64 - 49 + 20), |
| | | }; |
| | | contentPageView.AddChidren(functionsPageView); |
| | | |
| | | FrameLayout functionContentView; |
| | | functionContentView = new FrameLayout() |
| | | { |
| | | Y = Application.GetRealHeight(16), |
| | | Height = Application.GetRealHeight(667 - 64 - 49 + 20), |
| | | }; |
| | | functionsPageView.AddChidren(functionContentView); |
| | | |
| | | |
| | | int index = 0; |
| | | List<int> specialList = new List<int>() { 1, 2, 5, 6, 9, 10, 13, 14, 17, 18, 21, 22 }; |
| | | |
| | | var s1View = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Width = Application.GetRealWidth(164), |
| | | }; |
| | | functionContentView.AddChidren(s1View); |
| | | |
| | | var s2View = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(196), |
| | | Width = Application.GetRealWidth(164), |
| | | }; |
| | | functionContentView.AddChidren(s2View); |
| | | |
| | | var lastY1 = Application.GetRealWidth(16); |
| | | var lastY2 = Application.GetRealWidth(16); |
| | | |
| | | var functionCategoryCount = 0; |
| | | |
| | | foreach (var item in DB_ResidenceData.residenceData.functionTypeList) |
| | | { |
| | | int functionCount = 0; |
| | | int functionOnCount = 0; |
| | | switch (item) |
| | | { |
| | | case ShowFunction.Light: |
| | | #region Light |
| | | functionCount = DB_ResidenceData.functionList.lights.Count; |
| | | functionOnCount = DB_ResidenceData.functionList.lights.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.AC: |
| | | #region AC |
| | | functionCount = DB_ResidenceData.functionList.aCs.Count; |
| | | functionOnCount = DB_ResidenceData.functionList.aCs.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.Curtain: |
| | | #region Curtain |
| | | functionCount = DB_ResidenceData.functionList.curtains.Count; |
| | | functionOnCount = DB_ResidenceData.functionList.curtains.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.FloorHeating: |
| | | #region 地热 |
| | | functionCount = DB_ResidenceData.functionList.floorHeatings.Count; |
| | | functionOnCount = DB_ResidenceData.functionList.floorHeatings.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.DoorLock: |
| | | break; |
| | | case ShowFunction.Electric: |
| | | #region 电器 |
| | | functionCount = DB_ResidenceData.functionList.electricals.Count; |
| | | functionOnCount = DB_ResidenceData.functionList.electricals.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.EnergyMonitoring: |
| | | break; |
| | | case ShowFunction.Environmental: |
| | | #region 环境数据 |
| | | functionCount = DB_ResidenceData.functionList.sensorsEnvironmentalScience.Count; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.FreshAir: |
| | | break; |
| | | case ShowFunction.Music: |
| | | functionCount = Music.A31MusicModel.A31MusicModelList.Count; |
| | | functionOnCount = Music.A31MusicModel.A31MusicModelList.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; |
| | | break; |
| | | case ShowFunction.Panel: |
| | | break; |
| | | case ShowFunction.SecurityMonitoring: |
| | | break; |
| | | case ShowFunction.Sensor: |
| | | break; |
| | | case ShowFunction.VideoIntercom: |
| | | break; |
| | | |
| | | } |
| | | |
| | | if (functionCount == 0 && item != ShowFunction.Music) |
| | | { |
| | | //continue; |
| | | } |
| | | functionCategoryCount++; |
| | | |
| | | FrameLayout functionView = new FrameLayout() |
| | | { |
| | | Height = Application.GetRealWidth(161), |
| | | Radius = (uint)Application.GetRealWidth(6), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | Tag = item + "_View", |
| | | Y = index % 2 == 1 ? lastY2 : lastY1 |
| | | }; |
| | | //高度稍高的view |
| | | if (specialList.Contains(index)) |
| | | { |
| | | functionView.Height = Application.GetRealWidth(204); |
| | | } |
| | | if (index % 2 == 1) |
| | | { |
| | | lastY2 += functionView.Height + Application.GetRealWidth(16); |
| | | } |
| | | else |
| | | { |
| | | lastY1 += functionView.Height + Application.GetRealWidth(16); |
| | | } |
| | | |
| | | if (index % 2 == 0) |
| | | { |
| | | s1View.AddChidren(functionView); |
| | | } |
| | | else |
| | | { |
| | | s2View.AddChidren(functionView); |
| | | } |
| | | |
| | | |
| | | Button btnName = new Button() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(14), |
| | | Width = Application.GetRealWidth(120), |
| | | Height = Application.GetRealHeight(24), |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | functionView.AddChidren(btnName); |
| | | |
| | | |
| | | Button btnFunctionViewBg; |
| | | btnFunctionViewBg = new Button() |
| | | { |
| | | Height = Application.GetRealWidth(161), |
| | | UnSelectedImagePath = "FunctionIcon/FunctionBg/" + item + "FunctionBg.png", |
| | | }; |
| | | functionView.AddChidren(btnFunctionViewBg); |
| | | |
| | | int functionPageTitleId = 0; |
| | | switch (item) |
| | | { |
| | | case ShowFunction.Light: |
| | | #region Light |
| | | btnName.TextID = StringId.Lights; |
| | | functionCount = DB_ResidenceData.functionList.lights.Count; |
| | | functionOnCount = DB_ResidenceData.functionList.lights.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; |
| | | Button btnLightPower = new Button() |
| | | { |
| | | X = Application.GetRealWidth(120), |
| | | Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117), |
| | | Width = Application.GetRealWidth(32), |
| | | Height = Application.GetRealWidth(32), |
| | | SelectedImagePath = "Public/PowerOpen.png", |
| | | UnSelectedImagePath = "Public/PowerClose.png", |
| | | IsSelected = functionOnCount > 0, |
| | | Tag = item + "_AllControl", |
| | | }; |
| | | functionView.AddChidren(btnLightPower); |
| | | |
| | | btnLightPower.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | LoadEvent_SwitchFunction(btnLightPower, item); |
| | | }; |
| | | functionPageTitleId = StringId.Lights; |
| | | |
| | | #endregion |
| | | break; |
| | | case ShowFunction.AC: |
| | | #region AC |
| | | btnName.TextID = StringId.AC; |
| | | functionCount = DB_ResidenceData.functionList.aCs.Count; |
| | | functionOnCount = DB_ResidenceData.functionList.aCs.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; |
| | | Button btnAcPower = new Button() |
| | | { |
| | | X = Application.GetRealWidth(120), |
| | | Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117), |
| | | Width = Application.GetRealWidth(32), |
| | | Height = Application.GetRealWidth(32), |
| | | SelectedImagePath = "Public/PowerOpen.png", |
| | | UnSelectedImagePath = "Public/PowerClose.png", |
| | | Tag = item + "_AllControl", |
| | | IsSelected = functionOnCount > 0, |
| | | }; |
| | | functionView.AddChidren(btnAcPower); |
| | | btnAcPower.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | LoadEvent_SwitchFunction(btnAcPower, item); |
| | | }; |
| | | functionPageTitleId = StringId.AC; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.Curtain: |
| | | #region Curtain |
| | | btnName.TextID = StringId.Curtain; |
| | | functionCount = DB_ResidenceData.functionList.curtains.Count; |
| | | functionOnCount = DB_ResidenceData.functionList.curtains.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; |
| | | Button btnClose; |
| | | btnClose = new Button() |
| | | { |
| | | X = Application.GetRealWidth(72), |
| | | Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117), |
| | | Width = Application.GetRealWidth(32), |
| | | Height = Application.GetRealWidth(32), |
| | | UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseIcon.png", |
| | | SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseOnIcon.png", |
| | | //Tag = item + "_AllControl", |
| | | IsSelected = false |
| | | }; |
| | | functionView.AddChidren(btnClose); |
| | | |
| | | Button btnOpen; |
| | | btnOpen = new Button() |
| | | { |
| | | X = Application.GetRealWidth(120), |
| | | Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117), |
| | | Width = Application.GetRealWidth(32), |
| | | Height = Application.GetRealWidth(32), |
| | | UnSelectedImagePath = "FunctionIcon/Curtain/CurtainOpenIcon.png", |
| | | SelectedImagePath = "FunctionIcon/Curtain/CurtainOpenOnIcon.png", |
| | | IsSelected = true, |
| | | }; |
| | | functionView.AddChidren(btnOpen); |
| | | LoadEvent_CurtainSwitch(btnClose, btnOpen); |
| | | |
| | | functionPageTitleId = StringId.Curtain; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.FloorHeating: |
| | | #region 地热 |
| | | btnName.TextID = StringId.FloorHeating; |
| | | functionCount = DB_ResidenceData.functionList.floorHeatings.Count; |
| | | functionOnCount = DB_ResidenceData.functionList.floorHeatings.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; |
| | | Button btnFhPower = new Button() |
| | | { |
| | | X = Application.GetRealWidth(120), |
| | | Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117), |
| | | Width = Application.GetRealWidth(32), |
| | | Height = Application.GetRealWidth(32), |
| | | SelectedImagePath = "Public/PowerOpen.png", |
| | | UnSelectedImagePath = "Public/PowerClose.png", |
| | | Tag = item + "_AllControl", |
| | | IsSelected = functionOnCount > 0 |
| | | }; |
| | | functionView.AddChidren(btnFhPower); |
| | | btnFhPower.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | LoadEvent_SwitchFunction(btnFhPower, item); |
| | | }; |
| | | functionPageTitleId = StringId.FloorHeating; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.DoorLock: |
| | | btnName.TextID = StringId.DoorLock; |
| | | break; |
| | | case ShowFunction.Electric: |
| | | #region 电器 |
| | | btnName.TextID = StringId.Electric; |
| | | functionCount = DB_ResidenceData.functionList.electricals.Count; |
| | | functionOnCount = DB_ResidenceData.functionList.electricals.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; |
| | | Button btnElectricPower = new Button() |
| | | { |
| | | X = Application.GetRealWidth(120), |
| | | Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117), |
| | | Width = Application.GetRealWidth(32), |
| | | Height = Application.GetRealWidth(32), |
| | | SelectedImagePath = "Public/PowerOpen.png", |
| | | UnSelectedImagePath = "Public/PowerClose.png", |
| | | Tag = item + "_AllControl", |
| | | IsSelected = functionOnCount > 0, |
| | | }; |
| | | functionView.AddChidren(btnElectricPower); |
| | | btnElectricPower.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | LoadEvent_SwitchFunction(btnElectricPower, item); |
| | | }; |
| | | functionPageTitleId = StringId.Electric; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.EnergyMonitoring: |
| | | btnName.TextID = StringId.EnergyMonitoring; |
| | | break; |
| | | case ShowFunction.Environmental: |
| | | #region 环境数据 |
| | | btnName.TextID = StringId.EnvironmentalData; |
| | | btnFunctionViewBg.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | var skipView = new EnvironmentalSciencePage(); |
| | | MainPage.BasePageView.AddChidren(skipView); |
| | | skipView.LoadPage(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.FreshAir: |
| | | btnName.TextID = StringId.FreshAir; |
| | | break; |
| | | case ShowFunction.Music: |
| | | btnName.TextID = StringId.Music; |
| | | functionCount = Music.A31MusicModel.A31MusicModelList.Count; |
| | | functionOnCount = Music.A31MusicModel.A31MusicModelList.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count; |
| | | btnFunctionViewBg.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | var musicMain = new Music.MusicMain(); |
| | | MainPage.BasePageView.AddChidren(musicMain); |
| | | musicMain.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | break; |
| | | case ShowFunction.Panel: |
| | | btnName.TextID = StringId.Panel; |
| | | break; |
| | | case ShowFunction.SecurityMonitoring: |
| | | btnName.TextID = StringId.SecurityMonitoring; |
| | | break; |
| | | case ShowFunction.Sensor: |
| | | btnName.TextID = StringId.Sensor; |
| | | |
| | | break; |
| | | case ShowFunction.VideoIntercom: |
| | | btnName.TextID = StringId.VideoIntercom; |
| | | break; |
| | | |
| | | } |
| | | //界面跳转--音乐跳转自己的界面--环境跳转自己的界面 |
| | | if (item != ShowFunction.Music && item != ShowFunction.Environmental) |
| | | { |
| | | btnFunctionViewBg.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | var skipView = new FunctionPage(); |
| | | MainPage.BasePageView.AddChidren(skipView); |
| | | skipView.LoadPage(functionPageTitleId); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | } |
| | | if (item != ShowFunction.Environmental && functionCount != 0) |
| | | { |
| | | Button btnFunctionCount = new Button() |
| | | { |
| | | X = Application.GetRealWidth(16) + Application.GetRealWidth(7 * functionCount.ToString().Length), |
| | | Y = btnName.Bottom, |
| | | Width = Application.GetRealWidth(120), |
| | | Height = Application.GetRealHeight(24), |
| | | TextColor = CSS_Color.PromptingColor1, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = "/" + functionCount, |
| | | }; |
| | | functionView.AddChidren(btnFunctionCount); |
| | | Button btnOpenCount = new Button() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = btnName.Bottom, |
| | | Width = Application.GetRealWidth(12 * functionCount.ToString().Length), |
| | | Height = Application.GetRealHeight(24), |
| | | TextColor = CSS_Color.MainColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = functionOnCount.ToString(), |
| | | Tag = item + "_onCount", |
| | | BorderWidth = 0, |
| | | }; |
| | | functionView.AddChidren(btnOpenCount); |
| | | } |
| | | index++; |
| | | } |
| | | |
| | | if (functionCategoryCount > 4) |
| | | { |
| | | functionContentView.Height = Application.GetRealHeight((220 * functionCategoryCount / 2) + 20); |
| | | s1View.Height = s2View.Height = functionContentView.Height; |
| | | } |
| | | |
| | | #endregion |
| | | } |
| | | |
| | | #region 切换楼层 |
| | | /// <summary> |
| | | /// 楼层显示切换 |
| | | /// </summary> |
| | | void LoadDialog_ChangeFloor() |
| | | { |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | var dialog = new Dialog(); |
| | | var dialogBody = new FrameLayout(); |
| | | dialog.AddChidren(dialogBody); |
| | | dialogBody.MouseUpEventHandler += (sender1, e1) => |
| | | { |
| | | dialog.Close(); |
| | | }; |
| | | |
| | | var dispalyView = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(10), |
| | | Y = Application.GetRealHeight(100), |
| | | Width = Application.GetRealWidth(160), |
| | | Height = Application.GetRealHeight(110), |
| | | BackgroundImagePath = "PersonalCenter/HomeList1bg.png", |
| | | }; |
| | | dialogBody.AddChidren(dispalyView); |
| | | |
| | | var contentView = new VerticalScrolViewLayout() |
| | | { |
| | | X = Application.GetRealWidth(8), |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetRealWidth(150), |
| | | Height = Application.GetRealHeight(45 * 2), |
| | | ScrollEnabled = false |
| | | }; |
| | | dispalyView.AddChidren(contentView); |
| | | |
| | | if (DB_ResidenceData.residenceData.floors.Count < 2) |
| | | { |
| | | } |
| | | else if (DB_ResidenceData.residenceData.floors.Count < 3) |
| | | { |
| | | dispalyView = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(10), |
| | | Y = Application.GetRealHeight(100), |
| | | Width = Application.GetRealWidth(160), |
| | | Height = Application.GetRealHeight(155), |
| | | BackgroundImagePath = "PersonalCenter/HomeList2bg.png", |
| | | }; |
| | | dialogBody.AddChidren(dispalyView); |
| | | |
| | | contentView.Height = Application.GetRealHeight(45 * 3); |
| | | dispalyView.AddChidren(contentView); |
| | | } |
| | | else if (DB_ResidenceData.residenceData.floors.Count < 4) |
| | | { |
| | | dispalyView = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(10), |
| | | Y = Application.GetRealHeight(100), |
| | | Width = Application.GetRealWidth(160), |
| | | Height = Application.GetRealHeight(200), |
| | | BackgroundImagePath = "PersonalCenter/HomeList3bg.png", |
| | | }; |
| | | dialogBody.AddChidren(dispalyView); |
| | | |
| | | contentView.Height = Application.GetRealHeight(45 * 4); |
| | | dispalyView.AddChidren(contentView); |
| | | } |
| | | else |
| | | { |
| | | dispalyView = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(10), |
| | | Y = Application.GetRealHeight(100), |
| | | Width = Application.GetRealWidth(160), |
| | | Height = Application.GetRealHeight(245), |
| | | BackgroundImagePath = "PersonalCenter/HomeList4bg.png", |
| | | }; |
| | | dialogBody.AddChidren(dispalyView); |
| | | |
| | | contentView.Height = Application.GetRealHeight(45 * 5); |
| | | contentView.ScrollEnabled = true; |
| | | dispalyView.AddChidren(contentView); |
| | | } |
| | | |
| | | |
| | | List<string> chooseList = new List<string>(); |
| | | chooseList.Add(Language.StringByID(StringId.All)); |
| | | foreach (var f in DB_ResidenceData.residenceData.floors) |
| | | { |
| | | chooseList.Add(f.name); |
| | | } |
| | | |
| | | foreach (var floor in chooseList) |
| | | { |
| | | if (floor != Language.StringByID(StringId.All)) |
| | | { |
| | | contentView.AddChidren(new Button() |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Width = Application.GetRealWidth(112), |
| | | Height = Application.GetRealHeight(1), |
| | | BackgroundColor = CSS_Color.BackgroundColor |
| | | }); |
| | | } |
| | | var btnHomeName = new Button() |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Width = Application.GetRealWidth(112), |
| | | Height = Application.GetRealHeight(44), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | SelectedTextColor = CSS_Color.MainColor, |
| | | Text = floor, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | IsSelected = btnFloor.Text == floor, |
| | | IsMoreLines = true, |
| | | Tag = floor |
| | | }; |
| | | contentView.AddChidren(btnHomeName); |
| | | |
| | | btnHomeName.MouseUpEventHandler += (senderH, en) => |
| | | { |
| | | dialog.Close(); |
| | | btnFloor.Text = floor; |
| | | roomsShowed.Clear(); |
| | | if (floor == Language.StringByID(StringId.All)) |
| | | { |
| | | roomsShowed.AddRange(DB_ResidenceData.rooms); |
| | | } |
| | | else |
| | | { |
| | | foreach (var room in DB_ResidenceData.rooms) |
| | | { |
| | | if (room.floorName == floor) |
| | | { |
| | | roomsShowed.Add(room); |
| | | } |
| | | } |
| | | } |
| | | LoadRoomRows(); |
| | | }; |
| | | } |
| | | |
| | | dialog.Show(); |
| | | }; |
| | | |
| | | btnFloor.MouseUpEventHandler = eventHandler; |
| | | btnFloorDownIcon.MouseUpEventHandler = eventHandler; |
| | | } |
| | | |
| | | void LoadEvent_ChangeFloorDisplay() |
| | | { |
| | | |
| | | } |
| | | #endregion |
| | | } |
| | | } |
| | | } |