From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 10 七月 2020 10:52:13 +0800
Subject: [PATCH] 2020-07-10-01

---
 ZigbeeApp/Shared/Phone/Login/PhoneEmailForm.cs |  242 +++++++++++++++++++++---------------------------
 1 files changed, 107 insertions(+), 135 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Login/PhoneEmailForm.cs b/ZigbeeApp/Shared/Phone/Login/PhoneEmailForm.cs
index 24ca941..9e3a426 100755
--- a/ZigbeeApp/Shared/Phone/Login/PhoneEmailForm.cs
+++ b/ZigbeeApp/Shared/Phone/Login/PhoneEmailForm.cs
@@ -6,7 +6,7 @@
 
 namespace Shared.Phone.Login
 {
-    public class PhoneEmailForm : FrameLayout
+    public class PhoneEmailForm : FrameLayoutBase
     {
         /// <summary>
         /// 閫夋嫨鎵嬫満
@@ -33,8 +33,8 @@
             PhoneEmailFL = new FrameLayout()
             {
                 Y = Application.GetRealHeight(y),
-                Width = Application.GetMinRealAverage(905),
-                Height = Application.GetMinRealAverage(170),
+                Width = this.GetPictrueRealSize(905),
+                Height = this.GetPictrueRealSize(170),
                 //BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor,
                 //Radius = (uint)Application.GetRealHeight(height / 2),
                 Gravity = Gravity.CenterHorizontal
@@ -43,8 +43,8 @@
 
             var bg = new Button
             {
-                Width = Application.GetMinRealAverage(905),
-                Height = Application.GetMinRealAverage(170),
+                Width = this.GetPictrueRealSize(905),
+                Height = this.GetPictrueRealSize(170),
                 UnSelectedImagePath = "Account/PhoneEmail_White.png",
                 Gravity = Gravity.CenterHorizontal
             };
@@ -53,8 +53,8 @@
             SelectedPhone = new Button()
             {
                 X=Application.GetRealWidth(10),
-                Width = Application.GetMinRealAverage(905 / 2 + 20),
-                Height=Application.GetMinRealAverage(height),
+                Width = this.GetPictrueRealSize(905 / 2 + 20),
+                Height=this.GetPictrueRealSize(height),
                 SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonSelectedColor,
                 TextID = R.MyInternationalizationString.PhoneNum,
                 TextColor = ZigbeeColor.Current.GXCTextColor,
@@ -69,9 +69,9 @@
 
             SelectedEmail = new Button()
             {
-                X = Application.GetMinRealAverage(905 / 2 - 20),
-                Width = Application.GetMinRealAverage(905 / 2 + 20),
-                Height = Application.GetMinRealAverage(height),
+                X = this.GetPictrueRealSize(905 / 2 - 20),
+                Width = this.GetPictrueRealSize(905 / 2 + 20),
+                Height = this.GetPictrueRealSize(height),
                 SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonSelectedColor,
                 TextID = R.MyInternationalizationString.Email,
                 TextColor = ZigbeeColor.Current.GXCTextColor,
@@ -97,7 +97,7 @@
         }
     }
 
-    public class PhoneRowForm : FrameLayout
+    public class PhoneRowForm : FrameLayoutBase
     {
         /// <summary>
         /// 鎵嬫満鍖哄彿btn
@@ -145,18 +145,19 @@
                 TextSize = CommonFormResouce.TextSize
             };
             accountFL.AddChidren(PhoneZoneBtn);
-            PhoneZoneBtn.MouseUpEventHandler += (sender, e) =>
-            {
-                var form = new AreaCodeSelectForm();
-                parFL.AddChidren(form);
-                form.InitForm();
-                form.ShowForm();
-                form.FinishSelectEvent += (code) =>
-                {
-                    (sender as Button).Text = "+" + code;
-                    CommonPage.PhoneZoneStr = code;
-                };
-            };
+            //鐩墠鍙拡瀵�+86
+            //PhoneZoneBtn.MouseUpEventHandler += (sender, e) =>
+            //{
+            //    var form = new AreaCodeSelectForm();
+            //    parFL.AddChidren(form);
+            //    form.InitForm();
+            //    form.ShowForm();
+            //    form.FinishSelectEvent += (code) =>
+            //    {
+            //        (sender as Button).Text = "+" + code;
+            //        CommonPage.PhoneZoneStr = code;
+            //    };
+            //};
 
             AccountET = new EditText()
             {
@@ -205,7 +206,7 @@
         }
     }
 
-    public class PhoneLoginRowForm : FrameLayout
+    public class PhoneLoginRowForm : FrameLayoutBase
     {
         /// <summary>
         /// 璐﹀彿杈撳叆鎺т欢
@@ -227,25 +228,22 @@
         /// <param name="account"></param>
         public void Init(FrameLayout frameLayout, FrameLayout parFL, string account, int x, int y)
         {
-            var accountFL = new FrameLayout()
-            {
-                X = Application.GetRealWidth(x),
-                Y = Application.GetRealHeight(y),
-                Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
-                Height = Application.GetRealHeight(CommonFormResouce.Row_Height),
-                BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
-            };
-            frameLayout.AddChidren(accountFL);
+            this.X = Application.GetRealWidth(x);
+            this.Y = Application.GetRealHeight(y);
+            this.Width = Application.GetRealWidth(CommonFormResouce.Row_Width);
+            this.Height = Application.GetRealHeight(CommonFormResouce.Row_Height);
+            this.BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor;
+            frameLayout.AddChidren(this);
 
             var accountBtn = new Button()
             {
                 X = Application.GetRealWidth(69),
-                Width = Application.GetMinRealAverage(Button_Height),
-                Height = Application.GetMinRealAverage(Button_Height),
+                Width = this.GetPictrueRealSize(Button_Height),
+                Height = this.GetPictrueRealSize(Button_Height),
                 Gravity = Gravity.CenterVertical,
                 UnSelectedImagePath = "Account/Account.png"
             };
-            accountFL.AddChidren(accountBtn);
+            this.AddChidren(accountBtn);
 
             AccountET = new EditText()
             {
@@ -258,9 +256,10 @@
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Text = account,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CommonFormResouce.PlaceHolderTextSize
+                TextSize = CommonFormResouce.PlaceHolderTextSize,
+                IsNumberKeyboardType = true
             };
-            accountFL.AddChidren(AccountET);
+            this.AddChidren(AccountET);
 
             accountLine = new Button()
             {
@@ -269,7 +268,7 @@
                 Height = 1,
                 BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
-            accountFL.AddChidren(accountLine);
+            this.AddChidren(accountLine);
 
             AccountET.FoucsChanged += Text_FoucesChangeEvent;
 
@@ -295,7 +294,7 @@
         }
     }
 
-    public class EmailRowForm : FrameLayout
+    public class EmailRowForm : FrameLayoutBase
     {
         /// <summary>
         /// 璐﹀彿杈撳叆鎺т欢
@@ -330,8 +329,8 @@
             var accountBtn = new Button()
             {
                 X = Application.GetRealWidth(29),
-                Width = Application.GetMinRealAverage(Button_Height),
-                Height = Application.GetMinRealAverage(Button_Height),
+                Width = this.GetPictrueRealSize(Button_Height),
+                Height = this.GetPictrueRealSize(Button_Height),
                 Gravity = Gravity.CenterVertical,
                 UnSelectedImagePath = "Account/Account.png"
             };
@@ -386,7 +385,7 @@
     }
 
 
-    public class EmailLoginRowForm : FrameLayout
+    public class EmailLoginRowForm : FrameLayoutBase
     {
         /// <summary>
         /// 璐﹀彿杈撳叆鎺т欢
@@ -408,29 +407,26 @@
         /// <param name="account"></param>
         public void Init(FrameLayout frameLayout, string account, int x, int y)
         {
-            var accountFL = new FrameLayout()
-            {
-                X = Application.GetRealWidth(x),
-                Y = Application.GetRealHeight(y),
-                Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
-                Height = Application.GetRealHeight(CommonFormResouce.Row_Height),
-                BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
-            };
-            frameLayout.AddChidren(accountFL);
+            this.X = Application.GetRealWidth(x);
+            this.Y = Application.GetRealHeight(y);
+            this.Width = Application.GetRealWidth(CommonFormResouce.Row_Width);
+            this.Height = Application.GetRealHeight(CommonFormResouce.Row_Height);
+            this.BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor;
+            frameLayout.AddChidren(this);
 
             var accountBtn = new Button()
             {
                 X = Application.GetRealWidth(69),
-                Width = Application.GetMinRealAverage(Button_Height),
-                Height = Application.GetMinRealAverage(Button_Height),
+                Width = this.GetPictrueRealSize(Button_Height),
+                Height = this.GetPictrueRealSize(Button_Height),
                 Gravity = Gravity.CenterVertical,
                 UnSelectedImagePath = "Account/Account.png"
             };
-            accountFL.AddChidren(accountBtn);
+            this.AddChidren(accountBtn);
 
             AccountET = new EditText()
             {
-                X = Application.GetRealWidth(222),
+                X = Application.GetRealWidth(193),
                 Width = Application.GetRealWidth(700),
                 Height = Application.GetRealHeight(Button_Height),
                 Gravity = Gravity.CenterVertical,
@@ -441,7 +437,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextSize = CommonFormResouce.PlaceHolderTextSize
             };
-            accountFL.AddChidren(AccountET);
+            this.AddChidren(AccountET);
 
             accountLine = new Button()
             {
@@ -450,7 +446,7 @@
                 Height = 1,
                 BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
-            accountFL.AddChidren(accountLine);
+            this.AddChidren(accountLine);
 
             AccountET.FoucsChanged += Text_FoucesChangeEvent;
         }
@@ -476,7 +472,7 @@
 
     }
 
-    public class EmailForgotRowForm : FrameLayout
+    public class EmailForgotRowForm : FrameLayoutBase
     {
         /// <summary>
         /// 璐﹀彿杈撳叆鎺т欢
@@ -555,7 +551,7 @@
         }
     }
 
-    public class VerificationCodeRowForm : FrameLayout
+    public class VerificationCodeRowForm : FrameLayoutBase
     {
         /// <summary>
         /// Button_Height
@@ -599,8 +595,8 @@
             var codeBtn = new Button()
             {
                 X = Application.GetRealWidth(29),
-                Width = Application.GetMinRealAverage(Button_Height),
-                Height = Application.GetMinRealAverage(Button_Height),
+                Width = this.GetPictrueRealSize(Button_Height),
+                Height = this.GetPictrueRealSize(Button_Height),
                 Gravity = Gravity.CenterVertical,
                 UnSelectedImagePath = "Account/Code.png"
             };
@@ -679,7 +675,7 @@
         }
     }
 
-    public class PwdRowForm : FrameLayout
+    public class PwdRowForm : FrameLayoutBase
     {
         /// <summary>
         /// PasswrodET
@@ -720,8 +716,8 @@
             var passwordBtn = new Button()
             {
                 X = Application.GetRealWidth(29),
-                Width = Application.GetMinRealAverage(Button_Height),
-                Height = Application.GetMinRealAverage(Button_Height),
+                Width = this.GetPictrueRealSize(Button_Height),
+                Height = this.GetPictrueRealSize(Button_Height),
                 Gravity=Gravity.CenterVertical,
                 UnSelectedImagePath = "Account/Password.png"
             };
@@ -801,7 +797,7 @@
         }
     }
 
-    public class PwdLoginRowForm : FrameLayout
+    public class PwdLoginRowForm : FrameLayoutBase
     {
         /// <summary>
         /// PasswrodET
@@ -829,25 +825,22 @@
         /// <param name="y"></param>
         public void Init(FrameLayout frameLayout, int x, int y, string password = "")
         {
-            var pwdFL = new FrameLayout()
-            {
-                X = Application.GetRealWidth(x),
-                Y = Application.GetRealHeight(y),
-                Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
-                Height = Application.GetRealHeight(CommonFormResouce.Row_Height),
-                BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
-            };
-            frameLayout.AddChidren(pwdFL);
+            this.X = Application.GetRealWidth(x);
+            this.Y = Application.GetRealHeight(y);
+            this.Width = Application.GetRealWidth(CommonFormResouce.Row_Width);
+            this.Height = Application.GetRealHeight(CommonFormResouce.Row_Height);
+            this.BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor;
+            frameLayout.AddChidren(this);
 
             var passwordBtn = new Button()
             {
                 X = Application.GetRealWidth(69),
-                Width = Application.GetMinRealAverage(Button_Height),
-                Height = Application.GetMinRealAverage(Button_Height),
+                Width = this.GetPictrueRealSize(Button_Height),
+                Height = this.GetPictrueRealSize(Button_Height),
                 Gravity = Gravity.CenterVertical,
                 UnSelectedImagePath = "Account/Password.png"
             };
-            pwdFL.AddChidren(passwordBtn);
+            this.AddChidren(passwordBtn);
 
             PasswrodET = new EditText()
             {
@@ -863,7 +856,7 @@
                 TextSize = CommonFormResouce.PlaceHolderTextSize,
                 SecureTextEntry = true
             };
-            pwdFL.AddChidren(PasswrodET);
+            this.AddChidren(PasswrodET);
 
             hidenPWDbtn = new Button()
             {
@@ -875,7 +868,7 @@
                 UnSelectedImagePath = "Account/UnhidePwd.png",
                 IsSelected = true
             };
-            pwdFL.AddChidren(hidenPWDbtn);
+            this.AddChidren(hidenPWDbtn);
 
             hidenPWDbtn.MouseUpEventHandler += (sender, e) =>
             {
@@ -890,7 +883,7 @@
                 Height = 1,
                 BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
-            pwdFL.AddChidren(pwdLine);
+            this.AddChidren(pwdLine);
 
             PasswrodET.FoucsChanged += Text_FoucesChangeEvent;
         }
@@ -923,7 +916,7 @@
         }
     }
 
-    public class PwdForForgetRowForm : FrameLayout
+    public class PwdForForgetRowForm : FrameLayoutBase
     {
         /// <summary>
         /// PasswrodET
@@ -1036,7 +1029,7 @@
         }
     }
 
-    public class CodeForRegisterRowForm : FrameLayout
+    public class CodeForRegisterRowForm : FrameLayoutBase
     {
         /// <summary>
         /// Button_Height
@@ -1049,7 +1042,7 @@
         /// <summary>
         /// sendCode
         /// </summary>
-        public Button SendCodeBtn;
+        public NormalViewControl SendCodeBtn;
         /// <summary>
         /// VerificationCodeET
         /// </summary>
@@ -1091,8 +1084,8 @@
             var codeBtn = new Button()
             {
                 X = Application.GetRealWidth(29),
-                Width = Application.GetMinRealAverage(Button_Height),
-                Height = Application.GetMinRealAverage(Button_Height),
+                Width = this.GetPictrueRealSize(Button_Height),
+                Height = this.GetPictrueRealSize(Button_Height),
                 Gravity = Gravity.CenterVertical,
                 UnSelectedImagePath = "Account/Code.png"
             };
@@ -1112,20 +1105,15 @@
             };
             codeFL.AddChidren(VerificationCodeET);
 
-            SendCodeBtn = new Button()
+            SendCodeBtn = new NormalViewControl(300, 127, true)
             {
                 X = Application.GetRealWidth(CommonFormResouce.Row_Width - 300),
-                Width = Application.GetRealWidth(300),
-                Height = Application.GetRealHeight(127),
                 Gravity = Gravity.CenterVertical,
                 TextID = R.MyInternationalizationString.SendVerificationCode,
                 TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
-                SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                 TextAlignment = TextAlignment.Center,
-                BackgroundColor = ZigbeeColor.Current.GXCButtonDisableColor,
-                SelectedBackgroundColor=ZigbeeColor.Current.GXCButtonSelectedColor,
-                Enable = false,
-                IsSelected = false,
+                BackgroundColor = 0xFFFEBCA9,
+                CanClick = false,
                 Radius=(uint)Application.GetRealHeight(12),
                 IsBold=true,
                 TextSize=CommonFormResouce.TextSize
@@ -1165,51 +1153,35 @@
         }
 
         /// <summary>
-        /// TimeOut
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void TimeOut(object sender, System.Timers.ElapsedEventArgs e)
-        {
-            var span = DateTime.Now - dateBegin;
-            if (span.TotalSeconds <= 61)
-            {
-                Application.RunOnMainThread(() =>
-                {
-                    SendCodeBtn.Text = Convert.ToInt16(60 - span.TotalSeconds) + "s" + Language.StringByID(R.MyInternationalizationString.SendVerificationCodeAgain);
-                    SendCodeBtn.Enable = SendCodeBtn.IsSelected = false;
-                    SendCodeBtn.BackgroundColor = ZigbeeColor.Current.GXCClearColor;
-                    SendCodeBtn.SelectedBackgroundColor= ZigbeeColor.Current.GXCClearColor;
-                    SendCodeBtn.TextColor = ZigbeeColor.Current.GXCTextBlackColor;
-                });
-            }
-            else
-            {
-                Application.RunOnMainThread(() =>
-                {
-                    SendCodeBtn.TextID = R.MyInternationalizationString.SendVerificationCode;
-                    SendCodeBtn.BackgroundColor = ZigbeeColor.Current.GXCButtonDisableColor;
-                    SendCodeBtn.SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonSelectedColor;
-                    SendCodeBtn.TextColor = ZigbeeColor.Current.GXCTextWhiteColor;
-                    SendCodeBtn.Enable = SendCodeBtn.IsSelected = true;
-                    t.Stop();
-                    t.Close();
-                });
-            }
-        }
-
-        /// <summary>
         /// TimeBegin
         /// </summary>
         public void TimeBegin()
         {
-            t.Interval = 1000;
-            t.AutoReset = true;
-            t.Enabled = true;
-            t.Elapsed += TimeOut;
-            //鍚姩璁℃椂鍣ㄥ�掕鏃�-60s
-            t.Start();
-            dateBegin = DateTime.Now;
+            SendCodeBtn.BackgroundColor = UserCenterColor.Current.White;
+            SendCodeBtn.TextColor = ZigbeeColor.Current.GXCTextBlackColor;
+
+            HdlThreadLogic.Current.RunThread(() =>
+            {
+                //鍚庨噸鍙�
+                string txtValue = Language.StringByID(R.MyInternationalizationString.SendVerificationCodeAgain);
+                int timeOut = 60;
+                while (timeOut > 0 && SendCodeBtn.Parent != null)
+                {
+                    HdlThreadLogic.Current.RunMain(() =>
+                    {
+                        SendCodeBtn.Text = timeOut + "s" + txtValue;
+                    });
+                    timeOut--;
+                    System.Threading.Thread.Sleep(1000);
+                }
+                HdlThreadLogic.Current.RunMain(() =>
+                {
+                    SendCodeBtn.TextID = R.MyInternationalizationString.SendVerificationCode;
+                    SendCodeBtn.BackgroundColor = 0xFFFC744B;
+                    SendCodeBtn.TextColor = ZigbeeColor.Current.GXCTextWhiteColor;
+                    SendCodeBtn.CanClick = true;
+                });
+            });
         }
 
         /// <summary>

--
Gitblit v1.8.0