From f71e74b5f0d2716fbf05da016cdaa18d64e09f80 Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期四, 31 十二月 2020 17:01:18 +0800 Subject: [PATCH] 又换完成最新门锁。空气质量传感器完成数据和基本配置功能。开发图表和自动化的同事可下载此代码 --- ZigbeeApp/Shared/Phone/Category/SelectFloorForm.cs | 146 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 146 insertions(+), 0 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Category/SelectFloorForm.cs b/ZigbeeApp/Shared/Phone/Category/SelectFloorForm.cs new file mode 100755 index 0000000..f72f1cb --- /dev/null +++ b/ZigbeeApp/Shared/Phone/Category/SelectFloorForm.cs @@ -0,0 +1,146 @@ +锘縰sing System; +using System.Collections.Generic; +using Shared.Common; + +namespace Shared.Phone.Category +{ + public class SelectFloorForm : UserCenter.FrameLayoutBase + { + + public Action<string> FloorAction; + /// <summary> + /// 褰撳墠浼犺繃鏉ョ殑floorid + /// </summary> + public string CurFloorId = string.Empty; + + Dialog dialogBackground; + + /// <summary> + /// Init + /// </summary> + public void Init(int x, int y, Device.CommonForm.Direction direction = Device.CommonForm.Direction.Left) + { + dialogBackground = new Dialog + { + BackgroundColor = ZigbeeColor.Current.GXCDailogBackGroundColor + }; + dialogBackground.Show(); + var dialog = new FrameLayout() + { + }; + dialogBackground.AddChidren(dialog); + + dialog.MouseUpEventHandler += (sender, e) => + { + RemoveView(); + }; + + var bg = new Button + { + X = Application.GetRealWidth(x), + Y = Application.GetRealHeight(y), + Width = this.GetPictrueRealSize(449), + Height = this.GetPictrueRealSize(773), + UnSelectedImagePath = "Floor/SelectFloor_Left_4.png" + }; + dialog.AddChidren(bg); + + var backgroundFL = new FrameLayout + { + X = Application.GetRealWidth(x), + Y = Application.GetRealHeight(y + 23), + Width = this.GetPictrueRealSize(449), + Height = this.GetPictrueRealSize(773 - 23) + }; + dialog.AddChidren(backgroundFL); + + var tip = new Button + { + X = Application.GetRealWidth(80), + Width = this.GetPictrueRealSize(350), + Height = this.GetPictrueRealSize(150), + TextColor = ZigbeeColor.Current.GXCTextBlackColor, + TextAlignment = TextAlignment.CenterLeft, + TextID = R.MyInternationalizationString.SelectFloor, + TextSize = 14, + IsBold = true + }; + backgroundFL.AddChidren(tip); + + var floorLayout = new VerticalScrolViewLayout + { + Y = tip.Bottom, + Width = this.GetPictrueRealSize(449), + Height = this.GetPictrueRealSize(600), + VerticalScrollBarEnabled = false + }; + backgroundFL.AddChidren(floorLayout); + + var dicFloor = UserCenter.HdlRoomLogic.Current.GetFloorSortList(); + int floorCount = dicFloor.Count; + + if (floorCount > 0) + { + string directStr = string.Empty; + if (direction == Device.CommonForm.Direction.Right) + { + directStr = "Right"; + } + else + { + directStr = "Left"; + } + + if (floorCount > 5) + { + bg.UnSelectedImagePath = $"Floor/SelectFloor_{directStr}_5.png"; + bg.Height = this.GetPictrueRealSize(150*6+23); + backgroundFL.Height = this.GetPictrueRealSize(150 * 6); + floorLayout.Height = this.GetPictrueRealSize(150 * 5); + } + else + { + bg.UnSelectedImagePath = $"Floor/SelectFloor_{directStr}_{floorCount}.png"; + bg.Height = this.GetPictrueRealSize(150 * (floorCount + 1)+23); + backgroundFL.Height = this.GetPictrueRealSize(150 * (floorCount + 1)); + floorLayout.Height = this.GetPictrueRealSize(150 * floorCount); + } + + foreach (var floor in dicFloor.Keys) + { + AddFloor(floorLayout, floor, dicFloor[floor]); + } + } + } + + /// <summary> + /// AddFloor + /// </summary> + /// <param name="verticalScrolView"></param> + private void AddFloor(VerticalScrolViewLayout verticalScrolView, string floorId, string floorName) + { + var frow = new Device.CommonForm.LeftIconButtonRow(449, 150); + frow.Width = this.GetPictrueRealSize(449); + frow.Height = this.GetPictrueRealSize(150); + frow.Init("Floor/Floor.png", "Floor/FloorSelected.png", floorName); + verticalScrolView.AddChidren(frow); + frow.IsSelected = floorId == this.CurFloorId; + + frow.ButtonClickEvent += (sender, e) => + { + RemoveView(); + FloorAction?.Invoke(floorId); + }; + } + + /// <summary> + /// RemoveView + /// </summary> + private void RemoveView() + { + dialogBackground.Close(); + RemoveFromParent(); + } + } + +} -- Gitblit v1.8.0