using System; using System.Collections.Generic; namespace Shared.Phone.UserCenter.UserMain { /// /// 个人中心主画面 /// public class UserMainForm : EditorCommonForm { #region ■ 变量声明___________________________ /// /// 白色背景框 /// private FrameLayout frameWhiteBack = null; /// /// 用户名字 /// private NormalViewControl btnUserName = null; /// /// 用户身份 /// private NormalViewControl btnAuthority = null; /// /// 用户头像 /// private ImageView btnUserIcon = null; /// /// 皇冠 /// private IconViewControl btnImperialCrown = null; #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建), /// 注意:因为外面的框架问题,在外面不能使用底层的方法 /// 不然,可能会有些共通参数出错 /// public void ShowForm() { //特殊处理:恢复可关闭进度条,别问为什么,我也不知道为什么,以防万一而已 ProgressBar.SetCloseBarFlag(false); //初始化框架 this.InitForm(); //移除返回键 base.RemoveBackButton(); //body占完整个屏幕,除了底部菜单 bodyFrameLayout.Y = 0; bodyFrameLayout.Height = ControlCommonResourse.TopMenuFrameHeight + ControlCommonResourse.TopFrameHeight + ControlCommonResourse.BodyFrameHeight - ControlCommonResourse.BottomFrameHeight; bodyFrameLayout.BackgroundColor = UserCenterColor.Current.BlackBackGround; //初始化中部控件 this.InitMiddleFrame(); } /// /// 初始化中部控件 /// private void InitMiddleFrame() { //清空bodyFrame this.ClearBodyFrame(); //个人中心 var btnTitle = new NormalViewControl(350, 100, true); btnTitle.X = ControlCommonResourse.XXLeft; btnTitle.Y = Application.GetRealHeight(112); btnTitle.TextColor = UserCenterColor.Current.White; btnTitle.TextSize = 24; btnTitle.TextID = R.MyInternationalizationString.UserCenter; bodyFrameLayout.AddChidren(btnTitle); //白框 var frameBack = new FrameLayout(); frameBack.BackgroundColor = UserCenterColor.Current.BodyFrameLayout; frameBack.Y = Application.GetRealHeight(380); frameBack.Gravity = Gravity.CenterHorizontal; frameBack.Radius = 12; frameBack.Width = bodyFrameLayout.Width - Application.GetRealWidth(29 * 2); frameBack.Height = bodyFrameLayout.Height - Application.GetRealHeight(380) + Application.GetRealHeight(100); bodyFrameLayout.AddChidren(frameBack); //初始化个人信息的控件 this.InitUserInfoControl(frameBack); //初始化主菜单的控件 this.InitMainMenuInfoControl(frameBack); //初始化其他菜单 this.InitOtherMenuControl(frameBack); } #endregion #region ■ 个人信息的控件_____________________ /// /// 初始化个人信息的控件 /// /// 背景 private void InitUserInfoControl(FrameLayout frameWhite) { //用户头像 this.btnUserIcon = new ImageView(); btnUserIcon.Height = Application.GetMinRealAverage(280); btnUserIcon.Width = Application.GetMinRealAverage(280); btnUserIcon.Radius = (uint)Application.GetMinRealAverage(280) / 2; btnUserIcon.X = Application.GetRealWidth(121); btnUserIcon.ImagePath = UserCenterResourse.UserInfo.UserIconFile; bodyFrameLayout.AddChidren(btnUserIcon); btnUserIcon.Y = frameWhite.Y - Application.GetRealHeight(109); btnUserIcon.MouseUpEventHandler += (sender, e) => { var form = new UserInformationForm(); form.AddForm(); }; if (UserCenterResourse.UserInfo.AuthorityNo == 1) { //皇冠 this.btnImperialCrown = new IconViewControl(60); btnImperialCrown.X = Application.GetRealWidth(346); btnImperialCrown.Y = Application.GetRealHeight(475); btnImperialCrown.UnSelectedImagePath = "Center/ImperialCrown.png"; bodyFrameLayout.AddChidren(btnImperialCrown); } //用户昵称 this.btnUserName = new NormalViewControl(605, 60, true); btnUserName.X = btnUserIcon.Right + Application.GetRealWidth(5); btnUserName.Y = Application.GetRealHeight(43); if (UserCenterResourse.UserInfo != null) { btnUserName.Text = UserCenterResourse.UserInfo.UserName; } frameWhite.AddChidren(btnUserName); //用户身份 this.btnAuthority = new NormalViewControl(605, 60, true); btnAuthority.X = btnUserName.X; btnAuthority.Y = btnUserName.Bottom; btnAuthority.TextColor = UserCenterColor.Current.Gray; btnAuthority.TextSize = 12; if (UserCenterResourse.UserInfo != null) { btnAuthority.Text = UserCenterResourse.UserInfo.AuthorityText; } frameWhite.AddChidren(btnAuthority); } #endregion #region ■ 主菜单的控件_______________________ /// /// 初始化主菜单的控件 /// /// 背景 private void InitMainMenuInfoControl(FrameLayout frameWhite) { if (frameWhiteBack != null) { frameWhiteBack.RemoveAll(); } else { //背景框 frameWhiteBack = new FrameLayout(); frameWhiteBack.Y = Application.GetRealHeight(288); frameWhiteBack.Gravity = Gravity.CenterHorizontal; frameWhiteBack.Height = Application.GetRealHeight(371); frameWhiteBack.Width = frameWhite.Width - Application.GetRealWidth(29 * 2); frameWhiteBack.Radius = 10; frameWhiteBack.BackgroundColor = UserCenterColor.Current.White; frameWhite.AddChidren(frameWhiteBack); } //标题:管理 var frameTitle = new FrameLayout(); frameTitle.Y = Application.GetRealHeight(6); frameTitle.Width = Application.GetRealWidth(907); frameTitle.Height = Application.GetRealHeight(121); frameTitle.Gravity = Gravity.CenterHorizontal; frameWhiteBack.AddChidren(frameTitle); var btnTitle = new NormalViewControl(500, 60, true); btnTitle.Gravity = Gravity.CenterVertical; btnTitle.TextID = R.MyInternationalizationString.uManagement; frameTitle.AddChidren(btnTitle); var btnLine = new NormalViewControl(frameTitle.Width, 1, false); btnLine.BackgroundColor = UserCenterColor.Current.ButtomLine; btnLine.Y = frameTitle.Height - 1; frameTitle.AddChidren(btnLine); //创建全部的主菜单控件 this.CreatAllMainMenuControl(frameWhiteBack); } /// /// 创建全部的主菜单控件 /// /// private void CreatAllMainMenuControl(FrameLayout frameBack) { var frameMenu = new FrameLayout(); frameMenu.Y = Application.GetRealHeight(184); frameMenu.Height = Application.GetRealHeight(153); frameBack.AddChidren(frameMenu); //成员管理 string unSelectPic = "Center/MenberManagement.png"; int TextID = R.MyInternationalizationString.uMember; if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) { //生成控件 var frame = this.CreatMainMenuControl(frameMenu, TextID, unSelectPic); frame.ButtonClickEvent += (sender, e) => { var form = new Member.MemberListForm(); form.AddForm(); }; } //设备管理 unSelectPic = "Center/DeviceManagement.png"; TextID = R.MyInternationalizationString.uDevice; if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) { //生成控件 var frame = this.CreatMainMenuControl(frameMenu, TextID, unSelectPic); frame.ButtonClickEvent += (sender, e) => { HdlGatewayLogic.Current.RefreshAppOldSelectGatewayId(); if (string.IsNullOrEmpty(GatewayResourse.AppOldSelectGatewayId) == false) { var form = new Device.DeviceListMainForm(); form.AddForm(); } else { var form = new GatewayManage.GatewayListForm(); form.AddForm(); } }; } //住宅管理 unSelectPic = "Center/ResidenceManagement.png"; TextID = R.MyInternationalizationString.uResidence; if (1 == 1)//统一格式好看一点而已 { //生成控件 var frame = this.CreatMainMenuControl(frameMenu, TextID, unSelectPic); frame.ButtonClickEvent += (sender, e) => { //住宅接口不需要特殊的登陆Token var form = new Residence.ResidenceListForm(); form.AddForm(); }; } //安防管理 unSelectPic = "Center/SafetyManagement.png"; TextID = R.MyInternationalizationString.uSafety; //这个账号拥有网关的情况下,才显示这个菜单 if (HdlGatewayLogic.Current.GetAllLocalGateway().Count > 0) { //生成控件 var frame = this.CreatMainMenuControl(frameMenu, TextID, unSelectPic); frame.ButtonClickEvent += (sender, e) => { var form = new Safety.SafetyManagementMainForm(); form.AddForm(); }; } //重新让它居中 frameMenu.Gravity = Gravity.CenterHorizontal; } /// /// 创建一个主菜单控件 /// /// 背景框 /// 显示文本 /// 图片对象 /// private FrameRowControl CreatMainMenuControl(FrameLayout frameBack, int textId, string UnSelectPic) { int width = 236; //外框 var frame = new FrameRowControl(); frame.Width = Application.GetRealWidth(width); frame.Height = frameBack.Height; frame.Gravity = Gravity.CenterVertical; frame.X = frameBack.ChildrenCount * Application.GetRealWidth(width); frameBack.AddChidren(frame); frame.RemoveBaseClickEvent(); //变更大小 frameBack.Width = frameBack.ChildrenCount * Application.GetRealWidth(width); //图标 var btnIcon = new IconViewControl(81); btnIcon.Gravity = Gravity.CenterHorizontal; btnIcon.UnSelectedImagePath = UnSelectPic; frame.AddChidren(btnIcon); //文字 var btnText = new NormalViewControl(frame.Width, Application.GetRealHeight(72), false); btnText.TextSize = 12; btnText.Y = btnIcon.Bottom; btnText.TextAlignment = TextAlignment.Center; btnText.TextID = textId; frame.AddChidren(btnText); return frame; } #endregion #region ■ 初始化其他菜单_____________________ /// /// 初始化其他菜单 /// /// 背景 private void InitOtherMenuControl(FrameLayout frameWhite) { var frameList = new FrameListControl(26); frameList.Y = Application.GetRealHeight(698); frameList.Height = ControlCommonResourse.ListViewRowHeight * 3 + Application.GetRealHeight(26 * 3); frameWhite.AddChidren(frameList); if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) { //数据备份 var rowback = new FrameRowControl(frameList.rowSpace / 2); frameList.AddChidren(rowback); //向右图标 var btnBackRight = rowback.AddRightArrow(); btnBackRight.X -= ControlCommonResourse.XXLeft / 2; //图标 var btnBackIcon = rowback.AddLeftIcon(); btnBackIcon.X -= ControlCommonResourse.XXLeft / 2; btnBackIcon.UnSelectedImagePath = "Center/Backup.png"; //底线 var btnBackLine = rowback.AddBottomLine(); btnBackLine.X -= ControlCommonResourse.XXLeft / 2; //数据备份View var btnBackView = rowback.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uDataBackup), 300); btnBackView.X -= ControlCommonResourse.XXLeft / 2; rowback.ButtonClickEvent += (sender, e) => { var form = new HdlBackup.HdlBackupListForm(); form.AddForm(); }; } //意见反馈 var rowSuggestion = new FrameRowControl(frameList.rowSpace / 2); frameList.AddChidren(rowSuggestion); //向右图标 var btnSuRight = rowSuggestion.AddRightArrow(); btnSuRight.X -= ControlCommonResourse.XXLeft / 2; //图标 var btnSuggestionIcon = rowSuggestion.AddLeftIcon(); btnSuggestionIcon.X -= ControlCommonResourse.XXLeft / 2; btnSuggestionIcon.UnSelectedImagePath = "Center/Opinion.png"; //底线 var btnSuLine = rowSuggestion.AddBottomLine(); btnSuLine.X -= ControlCommonResourse.XXLeft / 2; //意见反馈View var btnSuView = rowSuggestion.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.Suggestions), 300); btnSuView.X -= ControlCommonResourse.XXLeft / 2; rowSuggestion.ButtonClickEvent += (sender, e) => { var form = new Suggestion.FeedbackForm(); form.AddForm(); }; //关于我们 var rowAbount = new FrameRowControl(frameList.rowSpace / 2); frameList.AddChidren(rowAbount); //向右图标 var btnAbountRight = rowAbount.AddRightArrow(); btnAbountRight.X -= ControlCommonResourse.XXLeft / 2; //图标 var btnAbountIcon = rowAbount.AddLeftIcon(); btnAbountIcon.X -= ControlCommonResourse.XXLeft / 2; btnAbountIcon.UnSelectedImagePath = "Center/Abount.png"; //底线 var btnAbountLine = rowAbount.AddBottomLine(); btnAbountLine.X -= ControlCommonResourse.XXLeft / 2; //关于我们View var btnAbountView = rowAbount.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uAboutMe), 300); btnAbountView.X -= ControlCommonResourse.XXLeft / 2; rowAbount.ButtonClickEvent += (sender, e) => { var form = new Abount.AbountForm(); form.AddForm(); }; } #endregion #region ■ 界面重新激活事件___________________ /// /// 自身的上层界面关闭后,它自身处于最上层时,触发的事件 /// public override int FormActionAgainEvent() { //用户头像 if (UserCenterResourse.UserInfo.UserIconFileChanged == true) { UserCenterResourse.UserInfo.UserIconFileChanged = false; btnUserIcon.ImagePath = UserCenterResourse.UserInfo.UserIconFile; } //用户名字 btnUserName.Text = UserCenterResourse.UserInfo.UserName; if (UserCenterResourse.UserInfo != null) { //用户身份 btnAuthority.Text = UserCenterResourse.UserInfo.AuthorityText; } if (this.btnImperialCrown != null) { //皇冠 if (UserCenterResourse.UserInfo.AuthorityNo != 1) { this.btnImperialCrown.Visible = false; } else { this.btnImperialCrown.Visible = true; } } //初始化主菜单的控件 this.InitMainMenuInfoControl(frameWhiteBack); return 1; } #endregion } }