using System; using System.Collections.Generic; namespace Shared.Phone.UserCenter.User { /// /// 个人中心主画面 /// public class UserMainForm : UserCenterCommonForm { #region ■ 变量声明___________________________ /// /// 个人布局的FrameLayout /// private SpecialFrameLayout persionFrameLayout = null; #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建), /// 注意:因为外面的框架问题,在外面不能使用底层的方法 /// 不然,可能会有些共通参数出错 /// public void ShowForm() { //特殊处理:恢复可关闭进度条,别问为什么,我也不知道为什么,以防万一而已 ProgressBar.SetCloseBarFlag(false); //复原管理员标识 Common.Config.Instance.isAdministrator = false; //初始化框架 this.InitForm(); //移除返回键 base.RemoveBackButton(); //设定标题 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.UserCenter)); //底层固定了加上底部的高度,这个画面需要显示底部,所以要减去底部高度 bodyFrameLayout.Height -= ControlCommonResourse.BottomFrameHeight; //为了能够显示模块图样 bodyFrameLayout.BackgroundColor = UserCenterColor.Current.TopFrameLayout; //初始化中部控件 this.InitMiddleFrame(); } /// /// 初始化中部控件 /// private void InitMiddleFrame() { bodyFrameLayout.RemoveAll(); //初始化个人图标FrameLayout this.InitPersionFrameLayout(); //初始化菜单列表的FrameLayout this.InitMenuFrameLayout(); } /// /// 初始化个人布局的FrameLayout /// private void InitPersionFrameLayout() { persionFrameLayout = new SpecialFrameLayout(260, 30); persionFrameLayout.BackgroundColor = UserCenterColor.Current.BodyFrameLayout; bodyFrameLayout.AddChidren(persionFrameLayout); //用户头像 var btnUserIcon = new ProfilePhotoControl(); btnUserIcon.X = ControlCommonResourse.XXLeft; btnUserIcon.Gravity = Gravity.CenterVertical; btnUserIcon.UnSelectedImagePath = "Account/Admin.png"; persionFrameLayout.AddChidren(btnUserIcon); var frameStatu = new StatuFrameLayout(ControlCommonResourse.NormalControlHeight * 2, false); frameStatu.X = btnUserIcon.Right + Application.GetRealWidth(50); frameStatu.Gravity = Gravity.CenterVertical; frameStatu.BackgroundColor = UserCenterColor.Current.BodyFrameLayout; persionFrameLayout.AddChidren(frameStatu, HeightAutoMode.IncreaseOnly); //用户昵称 var btnUserName = new ViewNormalControl(800, true); if (UserCenterResourse.UserInfo != null) { btnUserName.Text = UserCenterResourse.UserInfo.UserName; } frameStatu.AddChidren(btnUserName); //用户身份 var btnAuthority = new ViewNormalControl(800, true); btnAuthority.Y = btnUserName.Bottom; btnAuthority.TextColor = UserCenterColor.Current.Gray; if (UserCenterResourse.UserInfo != null) { btnAuthority.Text = UserCenterResourse.UserInfo.AuthorityText; } frameStatu.AddChidren(btnAuthority); //右图标 var btnRight = new RowRightIconView(); frameStatu.AddChidren(btnRight); //左边有个头像,所以它移动位置了 btnRight.X -= frameStatu.X; //单击事件 frameStatu.MouseUpEvent += (sender, e) => { var form = new UserInformationForm(); base.AddForm(form); }; } /// /// 初始化菜单列表的FrameLayout /// private void InitMenuFrameLayout() { var frameLayout = new FrameLayout(); frameLayout.Height = bodyFrameLayout.Height - persionFrameLayout.Height - Application.GetRealHeight(50); frameLayout.BackgroundColor = UserCenterColor.Current.BodyFrameLayout; frameLayout.Y = persionFrameLayout.Bottom + Application.GetRealHeight(50); bodyFrameLayout.AddChidren(frameLayout); var listView = new VerticalScrolViewLayout(); listView.Height = frameLayout.Height; frameLayout.AddChidren(listView); //添加菜单到MenuFrameLayout this.AddRowToMenuFrameLayout(listView); } #endregion #region ■ 添加菜单___________________________ /// /// 添加菜单到MenuFrameLayout /// /// listView private void AddRowToMenuFrameLayout(VerticalScrolViewLayout listView) { //成员管理 StatuRowLayout rowLayout = null; string unSelectPic = "Center/MenberManagement.png"; string selectPic = "Center/MenberManagementSelected.png"; int TextID = R.MyInternationalizationString.MenberManagement; if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) { //添加控件 rowLayout = this.AddRowLayout(listView, TextID, unSelectPic, selectPic); rowLayout.MouseUpEvent += (sender, e) => { //高胜的接口不用特殊Token Common.Config.Instance.isAdministrator = false; var form = new Member.MemberListForm(); base.AddForm(form); }; } //设备管理 rowLayout = null; unSelectPic = "Center/DeviceManagement.png"; selectPic = "Center/DeviceManagementSelected.png"; TextID = R.MyInternationalizationString.DeviceManagement; if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) { //添加控件 rowLayout = this.AddRowLayout(listView, TextID, unSelectPic, selectPic); rowLayout.MouseUpEvent += (sender, e) => { if (UserCenterResourse.UserInfo.AuthorityNo == 2) { //启用管理员标识 Common.Config.Instance.isAdministrator = true; } Common.LocalGateway.Current.RefreshAppOldSelectGatewayId(); if (string.IsNullOrEmpty(GatewayResourse.AppOldSelectGatewayId) == false) { var form = new Device.DeviceManagementMainForm(); base.AddForm(form); } else { var form = new Gateway.GatewayManagementForm(); base.AddForm(form); } }; } else if (UserCenterResourse.UserInfo.AuthorityNo == 3) { //添加控件 rowLayout = this.AddRowLayout(listView, TextID, unSelectPic, selectPic); rowLayout.MouseUpEvent += (sender, e) => { var form = new DeviceShard.ShardDeviceManagementMainForm(); base.AddForm(form); }; } //住宅管理 rowLayout = null; unSelectPic = "Center/ResidenceManagement.png"; selectPic = "Center/ResidenceManagementSelected.png"; TextID = R.MyInternationalizationString.ResidenceManagement; if (UserCenterResourse.UserInfo.AuthorityNo == 1) { //添加控件 rowLayout = this.AddRowLayout(listView, TextID, unSelectPic, selectPic); rowLayout.MouseUpEvent += (sender, e) => { //住宅接口不需要特殊的登陆Token var form = new Residence.ResidenceManagementForm(); base.AddForm(form); }; } //安防管理 rowLayout = null; unSelectPic = "Center/SafetyManagement.png"; selectPic = "Center/SafetyManagementSelected.png"; TextID = R.MyInternationalizationString.SafetyManagement; //这个账号拥有网关的情况下,才显示这个菜单 if (Common.LocalGateway.Current.GetAllLocalGateway().Count > 0) { //添加控件 rowLayout = this.AddRowLayout(listView, TextID, unSelectPic, selectPic); rowLayout.MouseUpEvent += (sender, e) => { if (UserCenterResourse.UserInfo.AuthorityNo == 2) { //启用管理员标识 Common.Config.Instance.isAdministrator = true; } var form = new Safety.SafetyManagementMainForm(); base.AddForm(form); }; } //数据备份 rowLayout = null; unSelectPic = "Center/Backup.png"; selectPic = "Center/BackupSelected.png"; TextID = R.MyInternationalizationString.uDataBackup; if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) { //添加控件 rowLayout = this.AddRowLayout(listView, TextID, unSelectPic, selectPic); rowLayout.MouseUpEvent += (sender, e) => { if (UserCenterResourse.UserInfo.AuthorityNo == 2) { //启用管理员标识 Common.Config.Instance.isAdministrator = true; } var form = new HdlBackup.HdlBackupMenuForm(); this.AddForm(form); }; } //意见反馈 rowLayout = null; unSelectPic = "Center/Opinion.png"; selectPic = "Center/OpinionSelected.png"; TextID = R.MyInternationalizationString.Suggestions; //添加控件 //rowLayout = this.AddRowLayout(listView, TextID, unSelectPic, selectPic); //rowLayout.MouseUpEvent += (sender, e) => //{ // var form = new User.NotFunctionForm(); // this.AddForm(form); //}; //关于 rowLayout = null; unSelectPic = "Center/Abount.png"; selectPic = "Center/AbountSelected.png"; TextID = R.MyInternationalizationString.uAbout; //添加控件 rowLayout = this.AddRowLayout(listView, TextID, unSelectPic, selectPic); rowLayout.MouseUpEvent += (sender, e) => { Common.Config.Instance.isAdministrator = false; var form = new Abount.AbountForm(); this.AddForm(form); }; } #endregion #region ■ 添加行_____________________________ /// /// 添加行 /// /// The row layout. /// listView /// TextID /// 图片对象 /// 图片对象 private StatuRowLayout AddRowLayout(VerticalScrolViewLayout listView, int textId, string UnSelectPic, string SelectPic) { var rowLayout = new StatuRowLayout(listView); //图标 var btnIcon = new RowLeftIconView(); btnIcon.UnSelectedImagePath = UnSelectPic; btnIcon.SelectedImagePath = SelectPic; rowLayout.AddChidren(btnIcon); //文字 var btnText = new RowCenterView(); btnText.TextID = textId; rowLayout.AddChidren(btnText); return rowLayout; } #endregion #region ■ 界面重新激活事件___________________ /// /// 自身的上层界面关闭后,它自身处于最上层时,触发的事件 /// public override void FormActionAgainEvent() { //复原管理员标识 Common.Config.Instance.isAdministrator = false; //重新刷新界面 this.InitMiddleFrame(); } #endregion } }