From 9c16d3614d9b88c637f967518a329f239fcd3aaf Mon Sep 17 00:00:00 2001 From: lss <316519258@qq.com> Date: 星期五, 12 六月 2020 09:22:04 +0800 Subject: [PATCH] 2020.06.12 --- ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs | 131 +++++++++++++++++++------------------------ 1 files changed, 58 insertions(+), 73 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs index 305b4fd..cd14c9d 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs @@ -18,7 +18,7 @@ /// <summary> /// 鍒楄〃鎺т欢 /// </summary> - private VerticalListControl listview = null; + private FrameListControl listview = null; /// <summary> /// 鎴块棿瀵硅薄 /// </summary> @@ -69,29 +69,33 @@ //娓呯┖bodyFrame this.ClearBodyFrame(); + var listBackControl = new VerticalFrameControl(); + listBackControl.Height = bodyFrameLayout.Height; + bodyFrameLayout.AddChidren(listBackControl); + //鍔犱竴涓櫧鑹茶儗鏅� var frameBack1 = new FrameLayout(); frameBack1.Height = Application.GetRealHeight(450); frameBack1.Y = Application.GetRealHeight(196); frameBack1.BackgroundColor = UserCenterColor.Current.White; frameBack1.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); - bodyFrameLayout.AddChidren(frameBack1); + listBackControl.frameTable.AddChidren(frameBack1); //鍒濆鍖栦俊鎭甯� var tableContr = new InformationEditorControl(); - this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 613, 1175); + this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 1175); //鎴块棿鍥剧墖搴曢儴闃村奖 var btnShadow = new PicViewControl(853, 593); btnShadow.Y = Application.GetRealHeight(58); btnShadow.Gravity = Gravity.CenterHorizontal; btnShadow.UnSelectedImagePath = "Room/RoomShadow.png"; - bodyFrameLayout.AddChidren(btnShadow); + listBackControl.frameTable.AddChidren(btnShadow); //鎴块棿鍥剧墖 var btnPic = new ImageView(); btnPic.Y = Application.GetRealHeight(60); - btnPic.Width = Application.GetMinRealAverage(824); - btnPic.Height = Application.GetMinRealAverage(549); + btnPic.Width = this.GetPictrueRealSize(824); + btnPic.Height = this.GetPictrueRealSize(549); btnPic.Radius = (uint)Application.GetRealHeight(17); btnPic.Gravity = Gravity.CenterHorizontal; if (this.editorRoom.BackgroundImageType == 0) @@ -102,15 +106,16 @@ { btnPic.ImageBytes = Common.Global.ReadFileByHomeId(this.editorRoom.BackgroundImage); } - bodyFrameLayout.AddChidren(btnPic); + listBackControl.frameTable.AddChidren(btnPic); //鍥剧墖閬僵 var btnZhezhao = new FrameLayout(); btnZhezhao.Width = btnPic.Width; btnZhezhao.Height = btnPic.Height; btnZhezhao.Y = btnPic.Y; btnZhezhao.Gravity = Gravity.CenterHorizontal; - btnZhezhao.Radius = btnPic.Radius; - bodyFrameLayout.AddChidren(btnZhezhao); + btnZhezhao.BackgroundColor = UserCenterColor.Current.PictrueZhezhaoColor; + btnZhezhao.Radius = (uint)Application.GetRealHeight(17); + listBackControl.frameTable.AddChidren(btnZhezhao); //鍒嗕韩鐨勬埧闂翠笉鑳界紪杈� if (this.editorRoom.IsSharedRoom == false) { @@ -190,8 +195,8 @@ var btnTemper = rowTemperature.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uNothing), 300); //搴曠嚎 rowTemperature.AddBottomLine(); - //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀� - if (this.editorRoom.IsSharedRoom == false) + //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀� 鎴栬�呭綋鍓嶄綇瀹呬笉鏄櫄鎷熺殑 + if (this.editorRoom.IsSharedRoom == false && Common.Config.Instance.Home.IsVirtually == false) { rowTemperature.ButtonClickEvent += (sender, e) => { @@ -214,8 +219,8 @@ var btnHumi = rowHumidity.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uNothing), 300); //搴曠嚎 rowHumidity.AddBottomLine(); - //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀� - if (this.editorRoom.IsSharedRoom == false) + //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀� 鎴栬�呭綋鍓嶄綇瀹呬笉鏄櫄鎷熺殑 + if (this.editorRoom.IsSharedRoom == false && Common.Config.Instance.Home.IsVirtually == false) { rowHumidity.ButtonClickEvent += (sender, e) => { @@ -230,7 +235,7 @@ } //鍒濆鍖栨甯冨畬鎴� - tableContr.FinishInitControl(bodyFrameLayout, this.listview); + tableContr.FinishInitControl(); tableContr = null; //鍒嗕韩鐨勬埧闂翠笉鑳戒繚瀛� @@ -308,6 +313,10 @@ //鍒锋柊宸︽粦鐨勬埧闂村垪琛ㄧ晫闈㈢殑鎴块棿鍒楄〃淇℃伅 MainPage.ListRoomViewFrom.Instance.RefreshListRoom(); } + + //绠椾簡,杩欓噷濡傛灉鎸変笅淇濆瓨,鍒欎富椤甸渶瑕侀噸鏂板埛鏂� + UserView.UserPage.Instance.RefreshForm = true; + this.CloseForm(); }; } @@ -415,41 +424,22 @@ { return; } - - foreach (var data in report.DeviceStatusReport.AttriBute) + var localDevice = Common.LocalDevice.Current.GetDevice(mainKeys); + HdlThreadLogic.Current.RunMain(() => { - if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) + if (((ZigBee.Device.TemperatureSensor)localDevice).Temperatrue == 0) { - HdlThreadLogic.Current.RunMain(() => - { - if (data.AttriButeData == 0) - { - //0鈩� - btnTemper.Text = "0.0鈩�"; - this.cloneRoom.Temperatrue = 0; - } - else if (data.AttriButeData > 32767) - { - //璐熸暟(鐗规畩澶勭悊) - string strValue = (data.AttriButeData - 65536).ToString(); - //灏忔暟鐐归渶瑕佷竴浣� - strValue = strValue.Substring(0, strValue.Length - 1); - //璁板綍娓╁害 - this.cloneRoom.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); - btnTemper.Text = this.cloneRoom.Temperatrue.ToString() + "鈩�"; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣� - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - //璁板綍娓╁害 - this.cloneRoom.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); - btnTemper.Text = this.cloneRoom.Temperatrue.ToString() + "鈩�"; - } - }); + //0鈩� + btnTemper.Text = "0.0鈩�"; + this.cloneRoom.Temperatrue = 0; } - } + else + { + //璁板綍娓╁害 + this.cloneRoom.Temperatrue = ((ZigBee.Device.TemperatureSensor)localDevice).Temperatrue; + btnTemper.Text = this.cloneRoom.Temperatrue.ToString() + "鈩�"; + } + }, ShowErrorMode.NO); })); //鍙戦�佽幏鍙栨俯搴︾殑鍛戒护 ((ZigBee.Device.TemperatureSensor)device).ReadTemperatureOrHumidity(); @@ -470,6 +460,10 @@ { //鑾峰彇婀垮害浼犳劅鍣� if (device is ZigBee.Device.TemperatureSensor && ((ZigBee.Device.TemperatureSensor)device).SensorDiv == 2) + { + listDevice.Add(device); + } + else if (device.Type == ZigBee.Device.DeviceType.FreshAirHumiditySensor) { listDevice.Add(device); } @@ -522,33 +516,26 @@ { return; } - foreach (var data in report.DeviceStatusReport.AttriBute) + var localDevice = Common.LocalDevice.Current.GetDevice(mainKeys); + HdlThreadLogic.Current.RunMain(() => { - if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) + decimal humidity = (decimal)localDevice.GetType().InvokeMember("Humidity", System.Reflection.BindingFlags.GetField, null, localDevice, null); + if (humidity == 0) { - HdlThreadLogic.Current.RunMain(() => - { - if (data.AttriButeData == 0) - { - //0 - btnHumi.Text = "0.0%"; - this.cloneRoom.Humidity = 0; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - //璁板綍婀垮害 - this.cloneRoom.Humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); - btnHumi.Text = this.cloneRoom.Humidity.ToString() + "%"; - } - }); + //0 + btnHumi.Text = "0.0%"; + this.cloneRoom.Humidity = 0; } - } + else + { + //璁板綍婀垮害 + this.cloneRoom.Humidity = humidity; + btnHumi.Text = this.cloneRoom.Humidity.ToString() + "%"; + } + }, ShowErrorMode.NO); }); //鍙戦�佽幏鍙栨箍搴︾殑鍛戒护 - ((ZigBee.Device.TemperatureSensor)device).ReadTemperatureOrHumidity(); + device.GetType().InvokeMember("ReadTemperatureOrHumidity", System.Reflection.BindingFlags.InvokeMethod, null, device, null); } #endregion @@ -566,11 +553,9 @@ //榛樿鍥惧簱 menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.LocalPicture), () => { - var localPic = new Phone.Device.Room.AddRoomSelectPicByLocal(); - Shared.Phone.UserView.HomePage.Instance.AddChidren(localPic); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - localPic.Show(); - localPic.action = (imgPath) => + var form = new SelectLocalRoomImageForm(); + form.AddForm(); + form.FinishSelectEvent = (imgPath) => { if (string.IsNullOrEmpty(imgPath) == true) { -- Gitblit v1.8.0