黄学彪
2020-04-14 463cf39019aa54e6c1226be4620766a035a0c490
ZigbeeApp/Shared/Phone/Login/AccountLogin.cs
@@ -2,7 +2,8 @@
using Shared.Common;
using Shared.Phone.UserView;
using Shared.Phone.Device.CommonForm;
using Shared.Phone.UserCenter;
namespace Shared.Phone.Login
{
    /// <summary>
@@ -858,10 +859,297 @@
            {
                loginBtn.Enable = loginBtn.IsSelected = false;
            }
        }
        }
        #endregion
        #region ■ 变量声明___________________________
        /// <summary>
        /// 手机账号登陆的控件容器
        /// </summary>
        private FrameLayout frameAccLoginPhoneback = null;
        /// <summary>
        /// 邮箱账号登陆的控件容器
        /// </summary>
        private FrameLayout frameEmailLoginPhoneback = null;
        #endregion
        #region ■ 初始化_____________________________
        /// <summary>
        /// 界面显示
        /// </summary>
        /// <param name="account">登陆账号</param>
        public void ShowForm(string account = "")
        {
            if (Config.Instance.IsLogin == true)
            {
                return;
            }
            CommonPage.Instance.IsDrawerLockMode = true;
            this.Tag = "Login";
            //界面上部的黑色图片
            var btnTopBlackPic = new NormalViewControl(this.Width, Application.GetRealHeight(619), false);
            btnTopBlackPic.UnSelectedImagePath = "Account/Logo_loginBG.png";
            this.AddChidren(btnTopBlackPic);
            //中间浅白色的背景
            var frameMidBack = new FrameLayout();
            frameMidBack.Y = btnTopBlackPic.Bottom;
            frameMidBack.Height = this.Height - btnTopBlackPic.Bottom;
            frameMidBack.BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
            this.AddChidren(frameMidBack);
            //HdlHome的图标
            var btnLogoIcon = new PicViewControl(184, 184);
            btnLogoIcon.Y = Application.GetRealHeight(230);
            btnLogoIcon.UnSelectedImagePath = "Account/Logo_White.png";
            btnLogoIcon.Gravity = Gravity.CenterHorizontal;
            this.AddChidren(btnLogoIcon);
            //Hdl Home
            var btnLogoName = new NormalViewControl(300, 69, true);
            btnLogoName.Y = btnLogoIcon.Bottom;
            btnLogoName.Gravity = Gravity.CenterHorizontal;
            btnLogoName.TextID = R.MyInternationalizationString.AppName;
            btnLogoName.TextColor = ZigbeeColor.Current.GXCTextWhiteColor;
            btnLogoName.TextSize = 16;
            this.AddChidren(btnLogoName);
            //手机号,邮箱的菜单控件
            int defultIndex = account.Contains("@") == false ? 1 : 2;
            var sitchControl = new Controls.PhoneEmailSelectControl();
            sitchControl.Y = Application.GetRealHeight(559);
            this.AddChidren(sitchControl);
            sitchControl.SelectMenuEvent += (selectIndex) =>
            {
                //手机号
                if (selectIndex == 1)
                {
                }
                //邮箱
                else if (selectIndex == 2)
                {
                }
            };
            //执行初始化
            sitchControl.InitControl(ZigbeeColor.Current.GXCButtonSelectedColor, defultIndex);
            phoneEmailForm = new PhoneEmailForm();
            phoneEmailForm.Init(midFrameLayout);
            //错误提示Btn
            loginErrorBtn = new Button()
            {
                X = Application.GetRealWidth(242),
                Y = Application.GetRealHeight(740),
                Width = Application.GetRealWidth(700),
                Height = Application.GetRealHeight(58),
                TextColor = ZigbeeColor.Current.GXCTextRed,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CommonFormResouce.TextSize,
                IsBold = true
            };
            midFrameLayout.AddChidren(loginErrorBtn);
            accountPwdFL = new FrameLayout()
            {
                Y = Application.GetRealHeight(801),
                Height = Application.GetRealHeight(553),
                Width = Application.GetRealWidth(942),
                Gravity = Gravity.CenterHorizontal,
                BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
                Radius = (uint)Application.GetRealHeight(17)
            };
            midFrameLayout.AddChidren(accountPwdFL);
            AddPhoneOrEmailFL(accountPwdFL, "Phone");
            forgotPasswordBtn = new Button()
            {
                X = Application.GetRealWidth(CommonPage.AppRealWidth - 115 - 250),
                Y = Application.GetRealHeight(1198),
                Width = Application.GetRealWidth(250),
                Height = Application.GetRealHeight(58),
                TextID = R.MyInternationalizationString.ForgotPWD_1,
                TextSize = CommonFormResouce.loginTextSize,
                TextColor = Shared.Common.ZigbeeColor.Current.GXCTextGrayColor,
                TextAlignment = TextAlignment.CenterRight
            };
            midFrameLayout.AddChidren(forgotPasswordBtn);
            loginBtn = new Button()
            {
                Y = Application.GetRealHeight(1293),
                Width = Application.GetRealWidth(688),
                Height = Application.GetRealHeight(127),
                Gravity = Gravity.CenterHorizontal,
                TextID = R.MyInternationalizationString.Login,
                TextSize = 16,
                TextColor = ZigbeeColor.Current.GXCTextGrayColor,
                SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonBlackSelectedColor,
                BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor,
                Radius = (uint)Application.GetRealHeight(127 / 2),
                Enable = false,
                IsBold = true
            };
            midFrameLayout.AddChidren(loginBtn);
            loginByCodeBtn = new Button()
            {
                X = Application.GetRealWidth(98),
                Y = Application.GetRealHeight(1466),
                Width = Application.GetRealWidth(300),
                Height = Application.GetRealHeight(49),
                TextID = R.MyInternationalizationString.LoginByCode,
                TextColor = ZigbeeColor.Current.GXCTextGrayColor,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CommonFormResouce.loginTextSize
            };
            midFrameLayout.AddChidren(loginByCodeBtn);
            registerBtn = new Button()
            {
                X = Application.GetRealWidth(738),
                Y = Application.GetRealHeight(1466),
                Width = Application.GetRealWidth(244),
                Height = Application.GetRealHeight(49),
                TextID = R.MyInternationalizationString.Register,
                TextColor = ZigbeeColor.Current.GXCTextGrayColor,
                TextAlignment = TextAlignment.CenterRight,
                TextSize = CommonFormResouce.loginTextSize
            };
            midFrameLayout.AddChidren(registerBtn);
            wechatBtn = new Button
            {
                X = Application.GetRealWidth(395),
                Y = Application.GetRealHeight(1737),
                Width = Application.GetMinRealAverage(115),
                Height = Application.GetMinRealAverage(115),
                UnSelectedImagePath = "Account/Wechat.png",
                Gravity = Gravity.CenterHorizontal
            };
            midFrameLayout.AddChidren(wechatBtn);
            qqBtn = new Button
            {
                X = Application.GetRealWidth(567),
                Y = Application.GetRealHeight(1737),
                Width = Application.GetMinRealAverage(115),
                Height = Application.GetMinRealAverage(115),
                UnSelectedImagePath = "Account/QQ.png"
            };
            //midFrameLayout.AddChidren(qqBtn);
            BindEvent();
            if (account.Contains("@") == true)
            {
                SelectPhoneOrEmail_MouseUpEvent(phoneEmailForm.SelectedEmail, null);
            }
        }
        #endregion
        #region ■ 初始化账号登陆窗口_________________
        /// <summary>
        /// 初始化账号登陆窗口
        /// </summary>
        /// <param name="frameMidBack">中间浅色的背景容器</param>
        /// <param name="i_account">登陆账号</param>
        /// <param name="i_div">1:手机号 2:邮箱</param>
        private void InitAccoutLoginWindow(FrameLayout frameMidBack, string i_account, int i_div)
        {
            //容器
            var frameBack = new FrameLayout();
            frameBack.Height = Application.GetRealHeight(620);
            frameBack.Y = Application.GetRealHeight(181);
            frameMidBack.AddChidren(frameBack);
            //白色背景
            var frameWhiteBack = new FrameLayout();
            frameWhiteBack.Width = Application.GetRealWidth(942);
            frameWhiteBack.Height = Application.GetRealHeight(553);
            frameWhiteBack.BackgroundColor = UserCenterColor.Current.White;
            frameWhiteBack.Radius = (uint)Application.GetRealHeight(17);
            frameWhiteBack.Gravity = Gravity.CenterHorizontal;
            frameBack.AddChidren(frameWhiteBack);
            //账号行
            var rowAccount = new FrameLayout();
            rowAccount.Y = Application.GetRealHeight(29);
            rowAccount.Width = Application.GetRealWidth(884);
            rowAccount.Height = Application.GetRealHeight(138);
            rowAccount.Gravity = Gravity.CenterHorizontal;
            frameWhiteBack.AddChidren(rowAccount);
            //账号图标
            var btnAccountIcon = new IconViewControl(92);
            btnAccountIcon.X = Application.GetRealWidth(69);
            btnAccountIcon.Gravity = Gravity.CenterVertical;
            btnAccountIcon.UnSelectedImagePath = "Account/Account.png";
            rowAccount.AddChidren(btnAccountIcon);
            //账号输入框
            var txtAccount = new TextInputControl(600, 92, true);
            txtAccount.X = btnAccountIcon.Right + Application.GetRealWidth(35);
            txtAccount.Gravity = Gravity.CenterVertical;
            if (i_div == 1)
            {
                //手机号
                txtAccount.IsNumberKeyboardType = true;
                txtAccount.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputPhoneNum);
            }
            else
            {
                //邮箱
                txtAccount.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputEmail);
            }
            txtAccount.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor;
            txtAccount.Text = i_account;
            rowAccount.AddChidren(txtAccount);
            //底线
            var btnAccountLine = new NormalViewControl(rowAccount.Width, 1, false);
            btnAccountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
            btnAccountLine.Y = rowAccount.Height - 1;
            rowAccount.AddChidren(btnAccountLine);
            //密码行
            var rowPassword = new FrameLayout();
            rowPassword.Y = rowAccount.Bottom + Application.GetRealHeight(58);
            rowPassword.Width = rowAccount.Width;
            rowPassword.Height = rowAccount.Height;
            rowPassword.Gravity = Gravity.CenterHorizontal;
            frameWhiteBack.AddChidren(rowPassword);
            //账号图标
            var btnPswIcon = new IconViewControl(92);
            btnPswIcon.X = btnAccountIcon.X;
            btnPswIcon.Gravity = Gravity.CenterVertical;
            btnPswIcon.UnSelectedImagePath = "Account/Password.png";
            rowPassword.AddChidren(btnPswIcon);
            //账号输入框
            var txtPsw = new TextInputControl(600, 92, true);
            txtPsw.X = txtAccount.X;
            txtPsw.Gravity = Gravity.CenterVertical;
            txtPsw.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputPWD);
            txtPsw.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor;
            txtPsw.SecureTextEntry = true;
            rowPassword.AddChidren(txtPsw);
            //底线
            var btnPswLine = new NormalViewControl(rowPassword.Width, 1, false);
            btnPswLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
            btnPswLine.Y = rowPassword.Height - 1;
            rowPassword.AddChidren(btnPswLine);
        }
        #endregion
    }
}