From f534d41c36d5895322bf691784a10435b64609fe Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 25 十二月 2020 13:52:00 +0800 Subject: [PATCH] 修复添加、删除楼层时候,界面刷新异常问题 --- HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 129 ++++++++++++++++++++++++++++++++++++------ 1 files changed, 109 insertions(+), 20 deletions(-) diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs index 8511bc3..fc554b2 100644 --- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs +++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs @@ -11,11 +11,13 @@ namespace HDL_ON.UI { - public partial class HomePage : FrameLayout + public partial class HomePage : VerticalRefreshLayout { #region 鎺т欢鍒楄〃 static HomePage bodyView; + + //FrameLayout bodyView; /// <summary> /// 椤堕儴淇℃伅鍖哄煙 /// </summary> @@ -92,6 +94,15 @@ { bodyView = this; bodyView.BackgroundColor = CSS_Color.BackgroundColor; + + this.VerticalScrollBarEnabled = false; +#if __IOS__ + //鑷姩鍋忕Щ鍙栨秷 + if (UIKit.UIDevice.CurrentDevice.CheckSystemVersion(11, 0)) + { + (this.uiView as UIKit.UIScrollView).ContentInsetAdjustmentBehavior = UIKit.UIScrollViewContentInsetAdjustmentBehavior.Never; + } +#endif } public override void RemoveFromParent() @@ -104,7 +115,17 @@ { try { + this.BeginHeaderRefreshingAction = () => + { + this.EndHeaderRefreshing(); + Common.ApiUtlis.Ins.DownloadData(); + LoadContentView(); + }; + #region topView + + bodyView.RemoveAll(); + topView = new FrameLayout() { Height = Application.GetRealHeight(216), @@ -130,7 +151,8 @@ }; topView.AddChidren(btnLinkStateTip); //鏇存柊閾炬帴鐘舵�乮con棰滆壊 - LoadEvent_CheckLinkStatus(); + CheckLinkStatus();//2020-12-22 + //LoadEvent_CheckLinkStatus(); btnResidenceName = new Button() { @@ -251,7 +273,7 @@ }; msgView.AddChidren(btnMsgBg); - + btnMsgIcon = new Button() { X = Application.GetRealWidth(12), @@ -263,7 +285,7 @@ }; msgView.AddChidren(btnMsgIcon); - + btnMsg = new Button() { X = Application.GetRealWidth(10) + btnMsgIcon.Right, @@ -275,7 +297,7 @@ }; msgView.AddChidren(btnMsg); - + btnMsgTime = new Button() { X = Application.GetRealWidth(299), @@ -293,9 +315,12 @@ #endregion #region 鍔熻兘鍦烘櫙鍒囨崲 + + bodyView.AddChidren(new Button() { Height = Application.GetRealHeight(20), BackgroundColor = 0x00000000 }); + changeView = new FrameLayout() { - Y = Application.GetRealHeight(20) + topView.Bottom, + //Y = Application.GetRealHeight(20) + topView.Bottom, Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(230), Height = Application.GetRealHeight(62), @@ -342,12 +367,77 @@ #region ContextView contentView = new PageLayout() { - Y = changeView.Bottom , + //Y = changeView.Bottom, Height = Application.GetRealHeight(310 + 30 + 10), //20涓鸿秴鍑洪儴鍒� + IsShowPoint = false, }; bodyView.AddChidren(contentView); functionViews = new List<FrameLayout>(); + + LoadContentView(); + + #endregion + } + catch (Exception ex) + { + MainPage.Log($"HomePage LoadPage Error : {ex.Message}"); + } + + } + /// <summary> + /// 鍔犺浇鍐呭鍖哄煙 + /// </summary> + void LoadContentView() + { + if (!Common.ApiUtlis.Ins.DownloadDataComplete) + { + var waitPage = new Loading(); + MainPage.BaseView.AddChidren(waitPage); + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + + new System.Threading.Thread(() => + { + try + { + while (!Common.ApiUtlis.Ins.DownloadDataComplete) + { + System.Threading.Thread.Sleep(400); + } + Application.RunOnMainThread(() => + { + if (contentView == null) + { + return; + } + contentView.RemoveAll(); + deviceFunctionView = new VerticalScrolViewLayout(); + contentView.AddChidren(deviceFunctionView); + LoadDeviceFunctionControlZone(); + sceneFunctionView = new VerticalScrolViewLayout(); + contentView.AddChidren(sceneFunctionView); + LoadSceneFunctionControlZone(); + contentView.PageIndex = 0; + + + LoadEvent_ChangeShowedFunctionType(); + + // 鏌ヨ鏈娑堟伅骞舵樉绀� + GetUnreadPushMessages(); + RegisterGetPushMessageAction(); + + waitPage.Hide(); + }); + } + catch (Exception ex) { + MainPage.Log($"鍒锋柊涓婚〉寮傚父:{ex.Message}"); + } + finally { } + }) + { IsBackground = true }.Start(); + } + else + { deviceFunctionView = new VerticalScrolViewLayout(); contentView.AddChidren(deviceFunctionView); @@ -357,24 +447,15 @@ LoadSceneFunctionControlZone(); contentView.PageIndex = 0; - #endregion LoadEvent_ChangeShowedFunctionType(); // 鏌ヨ鏈娑堟伅骞舵樉绀� GetUnreadPushMessages(); RegisterGetPushMessageAction(); - } - catch (Exception ex) - { - MainPage.Log($"HomePage LoadPage Error : {ex.Message}"); + } - - System.Threading.Tasks.Task.Run(() => - { - //DriverLayer.Control.Ins.SearchLoaclGateway(); - }); } /// <summary> @@ -382,6 +463,7 @@ /// </summary> void LoadDeviceFunctionControlZone() { + #region ContextView deviceFunctionView.RemoveAll(); functionViews.Clear(); @@ -638,7 +720,11 @@ Tag = "state", Text = function.lastState }; - view.AddChidren(btnState); + + if (function.spk != SPK.LightSwitch) + { + view.AddChidren(btnState); + } Button btnCollection; btnCollection = new Button() @@ -822,7 +908,7 @@ } string msg = function.name + Language.StringByID(StringId.CollectionCancelled); LoadDeviceFunctionControlZone(); - function.SaveFunctionData(true); + function.CollectFunction(); }; var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollection, btnName, btnZone); @@ -877,7 +963,10 @@ Width = Application.GetRealWidth(32), UnSelectedImagePath = "Public/FuncInfoSetIcon_white.png", }; - view.AddChidren(btnSettingIcon); + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + view.AddChidren(btnSettingIcon); + } Button btnName; btnName = new Button() -- Gitblit v1.8.0