From f14dcfd967404e197e7ec995ca8d6f2b090d3b7d Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期五, 11 九月 2020 09:16:59 +0800
Subject: [PATCH] 优化多功能面板:绑定温湿度传感器目标,和设备列表回路显示。优化数据矫正功能温湿度度不设置的情况。优化门锁时间设置最后一天和最后最后一个月的时间显示等 细节
---
ZigbeeApp/Shared/Phone/UserView/UserPage.cs | 409 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 409 insertions(+), 0 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserView/UserPage.cs b/ZigbeeApp/Shared/Phone/UserView/UserPage.cs
new file mode 100755
index 0000000..e3904ea
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserView/UserPage.cs
@@ -0,0 +1,409 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Shared.Common;
+using System.Text;
+using Shared.Phone.UserCenter;
+
+namespace Shared.Phone.UserView
+{
+ /// <summary>
+ /// User page.
+ /// </summary>
+ public class UserPage : FrameLayout
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+
+ /// <summary>
+ /// 褰撳墠閫夋嫨鐨勮彍鍗�
+ /// </summary>
+ private MenuSelectEnum nowSelectMenu = MenuSelectEnum.A鏈�夋嫨;
+ /// <summary>
+ /// 鐢ㄦ埛鐣岄潰
+ /// </summary>
+ private static UserPage userMenuPage = null;
+ /// <summary>
+ /// 鐢ㄦ埛鐣岄潰
+ /// </summary>
+ /// <value>The instance.</value>
+ public static UserPage Instance
+ {
+ get
+ {
+ if (userMenuPage == null)
+ {
+ userMenuPage = new UserPage { };
+ }
+ return userMenuPage;
+ }
+ }
+
+ /// <summary>
+ /// 鐢ㄦ埛涓讳綋鐣岄潰锛堜腑闂撮儴鍒嗭級
+ /// </summary>
+ private NormalFrameLayout bodyFrameView = null;
+ /// <summary>
+ /// 鐣岄潰缂撳瓨(2020.05.07:鍒囨崲鏃朵笉绉婚櫎鐣岄潰,鐩存帴闅愯棌)
+ /// </summary>
+ private List<EditorCommonForm> listForm = new List<EditorCommonForm>() { null, null, null };
+ /// <summary>
+ /// 鎺т欢缂撳瓨(鐪嬩笉鎳傜殑璇�,涓嶈鍔ㄥ畠)
+ /// </summary>
+ private List<ButtonBase> listButton = new List<ButtonBase>();
+ /// <summary>
+ /// 濡傛灉璁剧疆姝ゅ彉閲忎负true,鍒欏湪鍗曞嚮搴曢儴鑿滃崟鏃�,寮哄埗鏃犳潯浠跺叏閮ㄥ埛鏂�
+ /// </summary>
+ public bool RefreshAllForm = false;
+ /// <summary>
+ /// 鍒锋柊涓婚〉
+ /// </summary>
+ public bool RefreshMainPageForm = false;
+ /// <summary>
+ /// 鍒锋柊鍒嗙被
+ /// </summary>
+ public bool RefreshCategoryForm = false;
+
+ #endregion
+
+ #region 鈻� 鍒濆鍖朹____________________________
+
+ /// <summary>
+ /// 鍒濆鍖�
+ /// </summary>
+ public UserPage()
+ {
+ BackgroundColor = Shared.Common.ZigbeeColor.Current.MainColor;
+ Shared.Application.LocationAction += (lon, lat) =>
+ {
+ //涓婃姤缁忕含搴�
+ Login.AccountLogic.Instance.ReceiveAppLatAndLon(lon.ToString(), lat.ToString());
+ };
+ }
+
+ /// <summary>
+ /// 鍒濆鍖�
+ /// </summary>
+ public void InitPage()
+ {
+ if (this.ChildrenCount > 0)
+ {
+ return;
+ }
+#if iOS
+ if (Shared.Application.IsFullScreen == true)
+ {
+ //楂樼増鏈殑鑻规灉鏈哄瀷锛屽睆骞曞簳閮ㄤ細鏈変竴涓粦鑹茬殑鏉�
+ ControlCommonResourse.BottomFrameHeight = Application.GetRealHeight(180);
+ }
+#endif
+ //鐢ㄦ埛涓讳綋鐣岄潰锛堜腑闂撮儴鍒嗭級
+ this.bodyFrameView = new NormalFrameLayout();
+ bodyFrameView.Height = this.Height - UserCenter.ControlCommonResourse.BottomFrameHeight;
+ bodyFrameView.BackgroundColor = Shared.Common.ZigbeeColor.Current.MainColor;
+ this.AddChidren(bodyFrameView);
+
+ //鐢ㄦ埛鑿滃崟鐣岄潰锛堝簳閮ㄩ儴鍒嗭級
+ var bottomMenuFrame = new FrameLayout();
+ bottomMenuFrame.Gravity = Gravity.BottomCenter;
+ bottomMenuFrame.Height = ControlCommonResourse.BottomFrameHeight;
+ bottomMenuFrame.BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCBottomColor;
+ this.AddChidren(bottomMenuFrame);
+ //搴曢儴鑿滃崟鐨勫ご閮ㄧ嚎
+ var bottomLine = new NormalViewControl(bottomMenuFrame.Width, ControlCommonResourse.BottomLineHeight, false);
+ bottomLine.BackgroundColor = 0xffc8c8c9;
+ bottomMenuFrame.AddChidren(bottomLine);
+
+ //涓婚〉瀹瑰櫒
+ var frameHomePage = new FrameLayout();
+ frameHomePage.Width = bottomMenuFrame.Width / 3;
+ frameHomePage.Height = bottomMenuFrame.Height;
+ bottomMenuFrame.AddChidren(frameHomePage);
+ //涓婚〉鍥炬爣
+ var btnHomeIcon = new PicViewControl(138, 98);
+ btnHomeIcon.Y = Application.GetRealHeight(3);
+ btnHomeIcon.UnSelectedImagePath = "Navigation/Home.png";
+ btnHomeIcon.SelectedImagePath = "Navigation/HomeSelected.png";
+ btnHomeIcon.Gravity = Gravity.CenterHorizontal;
+ frameHomePage.AddChidren(btnHomeIcon);
+ this.listButton.Add(btnHomeIcon);
+ btnHomeIcon.ButtonClickEvent += (sender, e) =>
+ {
+ this.BottomMenuClickEvent(MenuSelectEnum.A涓婚〉, true);
+ };
+ //涓婚〉
+ var btnHomeName = new NormalViewControl(btnHomeIcon.Width, Application.GetRealHeight(40), false);
+ btnHomeName.Y = btnHomeIcon.Bottom;
+ btnHomeName.TextID = R.MyInternationalizationString.HomePage;
+ btnHomeName.TextColor = Shared.Common.ZigbeeColor.Current.GXCTextBottomUnSelectedColor;
+ btnHomeName.SelectedTextColor = Shared.Common.ZigbeeColor.Current.GXCTextBlackColor2;
+ btnHomeName.TextSize = 10;
+ btnHomeName.Gravity = Gravity.CenterHorizontal;
+ btnHomeName.TextAlignment = TextAlignment.Center;
+ frameHomePage.AddChidren(btnHomeName);
+ this.listButton.Add(btnHomeName);
+ btnHomeName.ButtonClickEvent += (sender, e) =>
+ {
+ this.BottomMenuClickEvent(MenuSelectEnum.A涓婚〉, true);
+ };
+
+ //鍒嗙被瀹瑰櫒
+ var frameCategory = new FrameLayout();
+ frameCategory.X = frameHomePage.Right;
+ frameCategory.Width = bottomMenuFrame.Width / 3;
+ frameCategory.Height = bottomMenuFrame.Height;
+ bottomMenuFrame.AddChidren(frameCategory);
+ //鍒嗙被鍥炬爣
+ var btnCategoryIcon = new PicViewControl(138, 98);
+ btnCategoryIcon.Y = Application.GetRealHeight(3);
+ btnCategoryIcon.UnSelectedImagePath = "Navigation/Category.png";
+ btnCategoryIcon.SelectedImagePath = "Navigation/CategorySelected.png";
+ btnCategoryIcon.Gravity = Gravity.CenterHorizontal;
+ frameCategory.AddChidren(btnCategoryIcon);
+ this.listButton.Add(btnCategoryIcon);
+ btnCategoryIcon.ButtonClickEvent += (sender, e) =>
+ {
+ this.BottomMenuClickEvent(MenuSelectEnum.A鍒嗙被, true);
+ };
+ //鍒嗙被
+ var btnCategoryName = new NormalViewControl(btnCategoryIcon.Width, Application.GetRealHeight(40), false);
+ btnCategoryName.Y = btnCategoryIcon.Bottom;
+ btnCategoryName.TextID = R.MyInternationalizationString.Category;
+ btnCategoryName.TextColor = Shared.Common.ZigbeeColor.Current.GXCTextBottomUnSelectedColor;
+ btnCategoryName.SelectedTextColor = Shared.Common.ZigbeeColor.Current.GXCTextBlackColor2;
+ btnCategoryName.TextSize = 10;
+ btnCategoryName.Gravity = Gravity.CenterHorizontal;
+ btnCategoryName.TextAlignment = TextAlignment.Center;
+ frameCategory.AddChidren(btnCategoryName);
+ this.listButton.Add(btnCategoryName);
+ btnCategoryName.ButtonClickEvent += (sender, e) =>
+ {
+ this.BottomMenuClickEvent(MenuSelectEnum.A鍒嗙被, true);
+ };
+
+
+ //鎴戠殑瀹瑰櫒
+ var frameSetting = new FrameLayout();
+ frameSetting.X = frameCategory.Right;
+ frameSetting.Width = bottomMenuFrame.Width / 3;
+ frameSetting.Height = bottomMenuFrame.Height;
+ bottomMenuFrame.AddChidren(frameSetting);
+ //鎴戠殑鍥炬爣
+ var btnSettingIcon = new PicViewControl(138, 98);
+ btnSettingIcon.Y = Application.GetRealHeight(3);
+ btnSettingIcon.UnSelectedImagePath = "Navigation/Setting.png";
+ btnSettingIcon.SelectedImagePath = "Navigation/SettingSelected.png";
+ btnSettingIcon.Gravity = Gravity.CenterHorizontal;
+ frameSetting.AddChidren(btnSettingIcon);
+ this.listButton.Add(btnSettingIcon);
+ btnSettingIcon.ButtonClickEvent += (sender, e) =>
+ {
+ this.BottomMenuClickEvent(MenuSelectEnum.A涓汉涓績, true);
+ };
+ //鎴戠殑
+ var btnSettingName = new NormalViewControl(btnCategoryIcon.Width, Application.GetRealHeight(40), false);
+ btnSettingName.Y = btnSettingIcon.Bottom;
+ btnSettingName.TextID = R.MyInternationalizationString.Me;
+ btnSettingName.TextColor = Shared.Common.ZigbeeColor.Current.GXCTextBottomUnSelectedColor;
+ btnSettingName.SelectedTextColor = Shared.Common.ZigbeeColor.Current.GXCTextBlackColor2;
+ btnSettingName.TextSize = 10;
+ btnSettingName.Gravity = Gravity.CenterHorizontal;
+ btnSettingName.TextAlignment = TextAlignment.Center;
+ frameSetting.AddChidren(btnSettingName);
+ this.listButton.Add(btnSettingName);
+ btnSettingName.ButtonClickEvent += (sender, e) =>
+ {
+ this.BottomMenuClickEvent(MenuSelectEnum.A涓汉涓績, true);
+ };
+ }
+
+ /// <summary>
+ /// 鍒锋柊鎺т欢
+ /// </summary>
+ public void ReFreshControl()
+ {
+ //杩欓噷鍋氬叏鍒锋柊澶勭悊
+ this.listForm = new List<EditorCommonForm>() { null, null, null };
+ this.bodyFrameView.RemoveAll();
+
+ this.BottomMenuClickEvent(MenuSelectEnum.A涓婚〉, false);
+ }
+
+ #endregion
+
+ #region 鈻� 涓�鑸柟娉昣__________________________
+
+ /// <summary>
+ /// 搴曢儴鑿滃崟鐨勭偣鍑讳簨浠�
+ /// </summary>
+ /// <param name="selectEnum">鑿滃崟閫夋嫨鏋氫妇</param>
+ /// <param name="handClick">鏄惁鏄墜鍔ㄧ偣鍑�</param>
+ private void BottomMenuClickEvent(MenuSelectEnum selectEnum, bool handClick)
+ {
+ if (this.RefreshAllForm == false && selectEnum == this.nowSelectMenu && handClick == true)
+ {
+ //鎵嬪姩鐐瑰嚮鍚屼竴涓彍鍗�,鍒欎笉鍋氬鐞�
+ return;
+ }
+
+ //濡傛灉寮哄埗鎸囧畾鍒锋柊鐣岄潰鐨勮瘽
+ if (this.RefreshAllForm == true)
+ {
+ //鍏ㄩ儴鍒锋柊
+ this.listForm = new List<EditorCommonForm>() { null, null, null };
+ this.bodyFrameView.RemoveAll();
+
+ this.RefreshAllForm = false;
+ }
+
+ this.nowSelectMenu = selectEnum;
+
+ //涓婚〉
+ if (selectEnum == MenuSelectEnum.A涓婚〉)
+ {
+ //宸︽粦鑿滃崟鍙�
+ CommonPage.Instance.IsDrawerLockMode = false;
+ if (this.RefreshMainPageForm == true)
+ {
+ //鍒锋柊涓婚〉
+ listForm[0]?.CloseForm();
+ listForm[0] = null;
+ this.RefreshMainPageForm = false;
+ }
+ if (listForm[0] == null)
+ {
+ var form = new MainPage.HomeMainPageForm();
+ this.bodyFrameView.AddChidren(form);
+ form.ShowForm();
+ //鍔犵紦瀛�
+ listForm[0] = form;
+ }
+ }
+ else if (selectEnum == MenuSelectEnum.A鍒嗙被)
+ {
+ //宸︽粦鑿滃崟涓嶅彲
+ CommonPage.Instance.IsDrawerLockMode = true;
+ if (this.RefreshCategoryForm == true)
+ {
+ //鍒锋柊鍒嗙被
+ listForm[1]?.CloseForm();
+ listForm[1] = null;
+ this.RefreshCategoryForm = false;
+ }
+ if (listForm[1] == null)
+ {
+ var form = new Category.CategoryMainForm();
+ this.bodyFrameView.AddChidren(form);
+ form.ShowForm();
+ //鍔犵紦瀛�
+ listForm[1] = form;
+ }
+ }
+ else if (selectEnum == MenuSelectEnum.A涓汉涓績)
+ {
+ //宸︽粦鑿滃崟涓嶅彲
+ CommonPage.Instance.IsDrawerLockMode = true;
+ if (listForm[2] == null)
+ {
+ var form = new UserCenter.UserMain.UserMainForm();
+ this.bodyFrameView.AddChidren(form);
+ form.ShowForm();
+ //鍔犵紦瀛�
+ listForm[2] = form;
+ }
+ }
+ //璁剧疆鍏ㄩ儴鎺т欢鐨勫悇绉嶇姸鎬佺姸鎬�
+ this.SetAllControlStatu();
+ }
+
+ /// <summary>
+ /// 璁剧疆鍏ㄩ儴鎺т欢鐨勫悇绉嶇姸鎬佺姸鎬�
+ /// </summary>
+ private void SetAllControlStatu()
+ {
+ int index = (int)this.nowSelectMenu - 1;
+ for (int i = 0; i < listForm.Count; i++)
+ {
+ if (i == index)
+ {
+ //褰撳墠閫夋嫨鐨勮彍鍗曠殑璇�,鍒欏叏閮ㄥ彲瑙�
+ listForm[i].Visible = true;
+ //鎺т欢鍥剧墖鍜岄鑹插彉鏇�
+ this.listButton[i * 2].IsSelected = true;
+ this.listButton[i * 2 + 1].IsSelected = true;
+ }
+ else
+ {
+ //涓嶆槸褰撳墠閫夋嫨鐨勮彍鍗曠殑璇�,鍏ㄩ儴涓嶅彲瑙�
+ if (listForm[i] != null)
+ {
+ listForm[i].Visible = false;
+ }
+ //鎺т欢鍥剧墖鍜岄鑹插彉鏇�
+ this.listButton[i * 2].IsSelected = false;
+ this.listButton[i * 2 + 1].IsSelected = false;
+ }
+ }
+ }
+
+ /// <summary>
+ /// 寮哄埗鏄剧ず鑷姩鍖栧垪琛ㄧ晫闈�
+ /// </summary>
+ public void ShowCategoryAutoListForm()
+ {
+ //鍏抽棴鍏ㄩ儴鐣岄潰,鐩村埌涓婚〉涓烘
+ UserCenterLogic.CloseAllOpenForm(null, false);
+ //寮哄埗鏄剧ず鑷姩鍖栧垪琛ㄧ晫闈�
+ UserCenterResourse.ResidenceOption.CategoryPageSwitchIndex = 2;
+
+ this.nowSelectMenu = MenuSelectEnum.A鍒嗙被;
+
+ //宸︽粦鑿滃崟涓嶅彲
+ CommonPage.Instance.IsDrawerLockMode = true;
+ if (listForm[1] == null)
+ {
+ var form = new Category.CategoryMainForm();
+ this.bodyFrameView.AddChidren(form);
+ form.ShowForm();
+ //鍔犵紦瀛�
+ listForm[1] = form;
+ }
+ else
+ {
+ ((Category.CategoryMainForm)listForm[1]).RefreshBodyView();
+ }
+ //璁剧疆鍏ㄩ儴鎺т欢鐨勫悇绉嶇姸鎬佺姸鎬�
+ this.SetAllControlStatu();
+ }
+
+ /// <summary>
+ /// 鑾峰彇褰撳墠婵�娲荤殑鐣岄潰
+ /// </summary>
+ /// <returns></returns>
+ public EditorCommonForm GetNowActionForm()
+ {
+ int index = ((int)this.nowSelectMenu) - 1;
+ if (index != -1)
+ {
+ //璋冪敤姝ょ晫闈㈢殑婵�娲诲嚱鏁�
+ return this.listForm[index];
+ }
+ return null;
+ }
+
+ #endregion
+
+ #region 鈻� 缁撴瀯浣揰____________________________
+
+ /// <summary>
+ /// 鑿滃崟閫夋嫨鐨勬灇涓�
+ /// </summary>
+ private enum MenuSelectEnum
+ {
+ A鏈�夋嫨 = 0,
+ A涓婚〉 = 1,
+ A鍒嗙被 = 2,
+ A涓汉涓績 = 3
+ }
+
+ #endregion
+ }
+}
--
Gitblit v1.8.0