using System; using Shared.Common; using Shared.Phone.Device.Category; using Shared.Phone.Device.CommonForm; namespace Shared.Phone.Device.Room { public class RoomManagement : FrameLayout { #region ◆ 变量____________________________ /// /// bodyFrameLayout /// private FrameLayout bodyFrameLayout; private Button floorBtn; private FrameLayout itemView; #endregion public Action action; public override void RemoveFromParent() { //更新界面 //action?.Invoke(); base.RemoveFromParent(); } /// /// 房间管理 /// public void Show() { AddTop(); AddBodyView(); } #region Add____________________________________ /// /// AddTop /// public void AddTop() { var top = new TopFrameLayout(); AddChidren(top); top.InitTopview(); top.SetTopTitle(R.MyInternationalizationString.RoomList); top.backButton.MouseUpEventHandler += (sender, e) => { RemoveFromParent(); }; floorBtn = new Button() { X = Application.GetRealWidth(750), Width = Application.GetRealWidth(200), Height = Application.GetRealHeight(60), Gravity = Gravity.CenterVertical, TextAlignment = TextAlignment.CenterRight, TextColor = ZigbeeColor.Current.GXCTextBlackColor, }; var selectFloorBtn = new Button() { X = Application.GetRealWidth(950), Width = Application.GetMinRealAverage(69), Height = Application.GetMinRealAverage(69), Gravity = Gravity.CenterVertical, UnSelectedImagePath = "Item/Drop_Down.png" }; floorBtn.Text = Config.Instance.Home.GetCurrentFloorName; top.topView.AddChidren(floorBtn); top.topView.AddChidren(selectFloorBtn); selectFloorBtn.MouseUpEventHandler += SelectedFloor_MouseUpEventHandler; floorBtn.MouseUpEventHandler += SelectedFloor_MouseUpEventHandler; } /// /// 选择楼层 /// /// Sender. /// The ${ParameterType} instance containing the event data. private void SelectedFloor_MouseUpEventHandler(object sender, MouseEventArgs mouseEventArgs) { var floors = new SelectFloor(); AddChidren(floors); floors.Init(599, 161); floors.FloorAction += (floorName) => { floorBtn.Text = floorName; }; } /// /// AddBodyView /// public void AddBodyView() { bodyFrameLayout = new FrameLayout() { Y = Application.GetRealHeight(184), Height = Application.GetRealHeight(1737), BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor, }; AddChidren(bodyFrameLayout); var roomScrolView = new VerticalScrolViewLayout { }; bodyFrameLayout.AddChidren(roomScrolView); for (int i = 0; i < Shared.Common.Room.Lists.Count; i++) { var room = Shared.Common.Room.Lists[i]; int xx = 43 + i % 2 * (20 + 487); int yy = 0; if (i == 0 || i == 1) { if (i % 2 == 0) { itemView = new FrameLayout() { Height = Application.GetRealHeight(354 + 58), Tag = room }; roomScrolView.AddChidren(itemView); } yy = 58; } else if (i % 2 == 0) { itemView = new FrameLayout() { Height = Application.GetRealHeight(354), Tag = room }; roomScrolView.AddChidren(itemView); } var roomView = new RoomMainView(xx, yy); itemView.AddChidren(roomView); roomView.Init(); roomView.SetRoomName(room.Name); roomView.SetRoomIcon(room.BackgroundImage); } } #endregion /// /// 房间管理界面 /// void RoomPage() { BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor; return; var RoomBodyView = new VerticalScrolViewLayout() { Height = Application.GetRealHeight(CommonPage.AppRealHeight - CommonPage.Navigation_Height), BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, }; foreach (var roomFilePath in Config.Instance.Home.RoomFilePathList) { var room = Shared.Common.Room.GetRoomByFilePath(roomFilePath); if (room == null) { continue; } var roomFL = new FrameLayout() { Height = Application.GetRealHeight(570), Width = Application.GetRealWidth(CommonPage.AppRealWidth - CommonPage.XLeft * 2), BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, Gravity = Gravity.CenterHorizontal, Radius = CommonPage.BigFormRadius, }; RoomBodyView.AddChidren(roomFL); var roomRowView = new RowLayout() { Y = Application.GetRealHeight(20), Height = Application.GetMinRealAverage(550), Width = Application.GetRealWidth(CommonPage.AppRealWidth - CommonPage.XLeft * 2), BackgroundColor =ZigbeeColor.Current.GXCBackgroundColor, LineColor= ZigbeeColor.Current.GXCBackgroundColor, Radius = CommonPage.BigFormRadius, Gravity = Gravity.CenterHorizontal }; roomFL.AddChidren(roomRowView); var backGroundBtn = new Button() { UnSelectedImagePath = room.BackgroundImage, Radius = CommonPage.BigFormRadius, Height = Application.GetMinRealAverage(550), Width = Application.GetRealWidth(CommonPage.AppRealWidth - CommonPage.XLeft * 2), }; roomRowView.AddChidren(backGroundBtn); var hardBlackBG = new FrameLayout() { Radius = CommonPage.BigFormRadius, BackgroundColor = ZigbeeColor.Current.GXCBlack70Color }; roomRowView.AddChidren(hardBlackBG); var btnRoomName = new Button() { Width = Application.GetRealWidth(500), Height=Application.GetRealHeight(200), Text = room.Name, TextAlignment = TextAlignment.Center, TextSize=25, TextColor=ZigbeeColor.Current.GXCTextWhiteColor, Gravity=Gravity.Center }; roomRowView.AddChidren(btnRoomName); var btnEditRoom = new Device.CommonForm.SelectedStatuButton() { X = roomRowView.Width- Application.GetRealWidth(100+30), Y=backGroundBtn.Y, Width = Application.GetMinRealAverage(110), Height=Application.GetMinRealAverage(110), UnSelectedImagePath = "Room/More.png", SelectedImagePath="Room/MoreSelected.png", }; roomRowView.AddChidren(btnEditRoom); var delBtn = new Shared.Phone.Device.CommonForm.RowLayoutDeleteButton(); //第一个是房间喜爱,不允许滑动删除 分享过来的也不允许删除 if (room.IsLove || room.IsSharedRoom) { } else { roomRowView.AddRightView(delBtn); } //删除住宅 delBtn.MouseUpEventHandler += (sender, e) => { var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.ConfirmDeleteThisRoom), Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); alert.Show(); alert.ResultEventHandler += (send, ee) => { if(ee) { Shared.Common.Room.CurrentRoom.Remove(roomFilePath); Show(); } }; }; btnEditRoom.MouseUpEventHandler += (sender, e) => { //AddOrUpdateRoom(action, roomFilePath); var addRoom = new AddRoom(); Shared.Phone.UserView.HomePage.Instance.AddChidren(addRoom); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; addRoom.action = () => { Show(); }; AddRoom.OldBackgroundImagePath = string.Empty; addRoom.Show(roomFilePath); }; roomRowView.MouseUpEventHandler += (sender, e) => { //var userRoom = new RoomAddDevice(); //this.AddChidren(userRoom); //userRoom.Show(roomFilePath); }; } } } }