From 0e4ad9a4de5b95f58daf1a6c5072c6a57cf223f9 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期一, 30 十二月 2019 10:02:10 +0800
Subject: [PATCH] 2019.12.30

---
 ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs                 |   10 
 ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs                        |    4 
 ZigbeeApp/GateWay.Droid/Assets/Language.ini                            |   12 
 ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs            |   13 
 ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs                   |   14 
 ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs            |   23 
 ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithSeekBarRow.cs |    2 
 ZigbeeApp/Shared/R.cs                                                  |   26 +
 ZigbeeApp/Shared/Phone/Device/Category/Category.cs                     |    8 
 ZigbeeApp/Shared/Phone/UserView/SafetyShortcutControl.cs               |   11 
 ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll                          |    0 
 ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs                     |   13 
 ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll                |    0 
 ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide                           |    0 
 ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs             |   13 
 ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneRow.cs             |    6 
 ZigbeeApp/Shared/Phone/Device/CommonForm/ButtonLineForm.cs             |    2 
 ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs           |   10 
 ZigbeeApp/Shared/Phone/Device/Account/AccountForgetPWD.cs              |   14 
 ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionRow.cs                |    6 
 ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs                  |   16 
 ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml                                 |   46 -
 ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs                    |   14 
 ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs                    |   15 
 ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs                   |    2 
 ZigbeeApp/Shared/Phone/Device/Account/AccountLoginByCode.cs            |  213 ++++++++++
 ZigbeeApp/Shared/Phone/Device/CommonForm/CommonFormResouce.cs          |    4 
 ZigbeeApp/Shared/Phone/Device/CommonForm/TopFrameLayout.cs             |    5 
 ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs                |  380 +++++++++++++++++--
 ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs                  |   23 
 ZigbeeApp/Shared/Common/ZigbeeColor.cs                                 |   12 
 ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneStatuRow.cs        |    2 
 ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs                |   13 
 ZigbeeApp/Shared/Phone/Device/CommonForm/SelectZone.cs                 |  142 ++----
 ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoEditRow.cs          |    4 
 ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoRow.cs              |    4 
 ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs               |   15 
 ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs          |    1 
 38 files changed, 810 insertions(+), 288 deletions(-)

diff --git a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
index e903987..9205cd3 100644
--- a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
+++ b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
@@ -1,51 +1,27 @@
 锘�<Properties StartupConfiguration="{28EDE1FF-20EF-476B-8AF8-24A3EEB69F45}|Default">
-  <MonoDevelop.Ide.ItemProperties.GateWay.Droid PreferredExecutionTarget="Android.M7BBB18B19152766" />
+  <MonoDevelop.Ide.ItemProperties.GateWay.Droid PreferredExecutionTarget="Android.SelectDevice" />
   <MonoDevelop.Ide.ItemProperties.GateWay.Ios automaticSigning="False" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.8c0bdb303f25d82c2a42fb8bfca449bfaca00260" />
   <MonoDevelop.Ide.ItemProperties.ShardLib PreferredExecutionTarget="Android.M7BBB18B19152766" />
-  <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/Device/CommonForm/RoomMainView.cs">
+  <MonoDevelop.Ide.Workbench ActiveDocument="Shared/R.cs">
     <Files>
-      <File FileName="Shared/R.cs" Line="2042" Column="35" />
+      <File FileName="Shared/R.cs" Line="808" Column="2" />
       <File FileName="GateWay.Droid/Assets/Language.ini" />
-      <File FileName="Shared/Phone/Device/Category/Category.cs" Line="1617" Column="112" />
+      <File FileName="Shared/Phone/Device/Category/Category.cs" />
       <File FileName="Shared/Phone/Device/Category/SelectDevice.cs" />
       <File FileName="Shared/Common/Device.cs" />
-      <File FileName="Shared/Phone/Device/CommonForm/RoomButton.cs" Line="7" Column="15" />
-      <File FileName="Shared/Phone/Device/Category/SelectScene.cs" />
-      <File FileName="Shared/Common/DeviceUI.cs" Line="468" Column="99" />
-      <File FileName="Shared/Phone/UserView/UserHomeView.cs" Line="699" Column="35" />
-      <File FileName="Shared/Phone/Device/CommonForm/RoomView.cs" Line="260" Column="21" />
-      <File FileName="Shared/Phone/Device/Room/RoomManagement.cs" Line="173" Column="45" />
-      <File FileName="Shared/Phone/Device/CommonForm/RoomMainView.cs" Line="30" Column="16" />
+      <File FileName="Shared/Phone/UserView/UserHomeView.cs" />
+      <File FileName="Shared/Phone/Device/Category/CategoryAddScene.cs" />
+      <File FileName="Shared/Phone/Device/CommonForm/DeviceInfoEditRow.cs" />
+      <File FileName="Shared/Common/DeviceUI.cs" />
+      <File FileName="Shared/Phone/Device/CommonForm/RoomView.cs" />
+      <File FileName="Shared/Phone/Device/CommonForm/DeviceInfoRow.cs" />
     </Files>
     <Pads>
       <Pad Id="ProjectPad">
         <State name="__root__">
           <Node name="GateWay" expanded="True">
-            <Node name="GateWay.Droid" expanded="True">
-              <Node name="Assets" expanded="True" />
-            </Node>
             <Node name="Shared" expanded="True">
-              <Node name="Common" expanded="True" />
-              <Node name="Phone" expanded="True">
-                <Node name="Device" expanded="True">
-                  <Node name="CommonForm" expanded="True">
-                    <Node name="RoomMainView.cs" selected="True" />
-                  </Node>
-                  <Node name="Room" expanded="True" />
-                </Node>
-                <Node name="UserCenter" expanded="True">
-                  <Node name="CommonBase" expanded="True">
-                    <Node name="Common" expanded="True" />
-                    <Node name="Controls" expanded="True">
-                      <Node name="BaseCommonControl" expanded="True">
-                        <Node name="Base" expanded="True" />
-                      </Node>
-                      <Node name="ClickButtonControls" expanded="True" />
-                    </Node>
-                  </Node>
-                </Node>
-                <Node name="UserView" expanded="True" />
-              </Node>
+              <Node name="R.cs" selected="True" />
             </Node>
           </Node>
         </State>
diff --git a/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide b/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
index 1954df3..23a5b6f 100644
--- a/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
+++ b/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Assets/Language.ini b/ZigbeeApp/GateWay.Droid/Assets/Language.ini
index d657f22..369e02b 100755
--- a/ZigbeeApp/GateWay.Droid/Assets/Language.ini
+++ b/ZigbeeApp/GateWay.Droid/Assets/Language.ini
@@ -621,7 +621,7 @@
 10108=鎼滅储
 10109=瀹屾垚
 10110=璐﹀彿鐧诲綍
-10111=鍙戦�侀獙璇佺爜
+10111=鑾峰彇楠岃瘉鐮�
 10112=鍚庨噸鍙�
 10113=璇峰啀娆¤緭鍏ュ瘑鐮�
 10114=鍙戦�侀獙璇佺爜鎴愬姛锛岃娉ㄦ剰鏌ユ敹
@@ -653,6 +653,9 @@
 10140=璇疯緭鍏ラ暱搴︿负6-13涓瓧绗︾殑瀵嗙爜
 10141=浣犲凡琚己鍒朵笅绾匡紒
 10142=鏂板瘑鐮佸拰鍘熷瘑鐮佷竴鑷�
+10143=璇峰厛鑾峰彇楠岃瘉鐮�
+10144=蹇樿瀵嗙爜锛�
+10145=宸叉湁璐﹀彿锛熺櫥褰�
 
 
 
@@ -664,6 +667,8 @@
 10155=鎿嶄綔澶辫触
 10156=鍙戦�侀獙璇佺爜澶辫触
 10157=缃戝叧涓嶅湪绾�
+10158=涓嬩竴姝�
+
 
 10160=宸叉槸鏈�鏂扮増鏈�
 10161=鏇存柊鏈�鏂扮増
@@ -798,10 +803,11 @@
 13506=5鎸�
 13511=璇锋竻娲佹护缃�
 
-13600=娌″姛鑳� {\r\n} 璇峰厛娣诲姞
-13601=娌″満鏅� {\r\n} 璇峰厛娣诲姞
+13600=杩樻病鏈夊姛鑳藉摝
+13601=杩樻病鏈夊満鏅摝
 13602=鏃�
 13603=鑾峰彇涓�...
+13604=褰撳墠 浜害
 
 
 15000=瀵嗙爜闀垮害涓簕0}涓瓧绗�
diff --git a/ZigbeeApp/Shared/Common/ZigbeeColor.cs b/ZigbeeApp/Shared/Common/ZigbeeColor.cs
index a6d86ee..002ca22 100644
--- a/ZigbeeApp/Shared/Common/ZigbeeColor.cs
+++ b/ZigbeeApp/Shared/Common/ZigbeeColor.cs
@@ -182,17 +182,25 @@
         /// </summary>
         public uint GXCSelectedLineColor = 0xFFFC744B;
         /// <summary>
-        /// 娴呰壊绾挎潯 0xFFF5F6FA;
+        /// 娴呰壊绾挎潯 0x80CCCCCC
         /// </summary>
-        public uint GXCGrayLineColor = 0xFFF5F6FA;
+        public uint GXCGrayLineColor = 0x80CCCCCC;
         /// <summary>
         /// 娴呰壊绾挎潯 0x66CCCCCC
         /// </summary>
         public uint GXCGrayLineColor2 = 0x66CCCCCC;
+        ///// <summary>
+        ///// 娴呰壊绾挎潯 0xFFEBEBEB
+        ///// </summary>
+        //public uint GXCGrayLineColor2 = 0xFFEBEBEB;
         /// <summary>
         /// 娴呰壊绾挎潯 0xFFB7B8BB
         /// </summary>
         public uint GXCGrayLineColor3 = 0xFFB7B8BB;
+        /// <summary>
+        /// 0x40000000
+        /// </summary>
+        public uint GXCGrayLineColor4 = 0x40000000;
 
         /// <summary>
         /// 鎸夐挳鏈�変腑鐘舵�� 0xFF656565;
diff --git a/ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll b/ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll
index 632a5fc..4f9b2cd 100644
--- a/ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll
+++ b/ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll
Binary files differ
diff --git a/ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll b/ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll
index 6264e6a..6a4e720 100644
--- a/ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll
+++ b/ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll
Binary files differ
diff --git a/ZigbeeApp/Shared/Phone/Device/Account/AccountForgetPWD.cs b/ZigbeeApp/Shared/Phone/Device/Account/AccountForgetPWD.cs
index c33eb4f..ae8adc4 100644
--- a/ZigbeeApp/Shared/Phone/Device/Account/AccountForgetPWD.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Account/AccountForgetPWD.cs
@@ -139,6 +139,8 @@
                 Height = Application.GetRealHeight(58),
                 TextColor = ZigbeeColor.Current.GXCTextRed,
                 TextAlignment = TextAlignment.CenterLeft,
+                TextSize = CommonFormResouce.TextSize,
+                IsBold = true
             };
             bodyFrameLayout.AddChidren(errorBtn);
 
@@ -155,7 +157,9 @@
                 BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor,
                 Radius = (uint)Application.GetRealHeight(127 / 2),
                 Enable = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text),
-                IsSelected = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text)
+                IsSelected = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text),
+                TextSize = 16,
+                IsBold = true,
             };
             bodyFrameLayout.AddChidren(resetBtn);
         }
@@ -171,9 +175,10 @@
         private void SelectPhoneOrEmail_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs)
         {
             phoneEmailForm.SelectedPhone.IsSelected = phoneEmailForm.SelectedEmail.IsSelected = false;
+            phoneEmailForm.SelectedPhone.IsBold = phoneEmailForm.SelectedEmail.IsBold = false;
             resetBtn.Enable = resetBtn.IsSelected = false;
             errorBtn.Text = string.Empty;
-            (sender as Button).IsSelected = true;
+            (sender as Button).IsSelected = (sender as Button).IsBold = true;
             if ((sender as Button).Tag.ToString() == "Phone")
             {
                 AddPhoneOrEmailFL(accountCodeFL, "Phone");
@@ -482,6 +487,11 @@
                     //楠岃瘉鐮侀敊璇�
                     errorBtn.TextID = R.MyInternationalizationString.VALIDCODEANDPHONENOEQUAL;
                 }
+                else if (stateCodeStr == "NORECORD")
+                {
+                    errorBtn.TextID = R.MyInternationalizationString.NORECORD;
+                }
+
                 else
                 {
                     errorBtn.TextID = R.MyInternationalizationString.RequestServerFailed;
diff --git a/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs b/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs
index f921ddf..0e35e91 100644
--- a/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs
@@ -167,12 +167,14 @@
                 Width = Application.GetRealWidth(300),
                 Gravity = Gravity.CenterHorizontal,
                 TextID = R.MyInternationalizationString.AppName,
-                TextColor = ZigbeeColor.Current.GXCTextWhiteColor
+                TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
+                TextSize=16
             };
             midFrameLayout.AddChidren(logoName);
 
             phoneEmailForm = new PhoneEmailForm();
             phoneEmailForm.Init(midFrameLayout);
+           
 
             //閿欒鎻愮ずBtn
             loginErrorBtn = new Button()
@@ -183,6 +185,8 @@
                 Height = Application.GetRealHeight(58),
                 TextColor = ZigbeeColor.Current.GXCTextRed,
                 TextAlignment = TextAlignment.CenterLeft,
+                TextSize=CommonFormResouce.TextSize,
+                IsBold=true
             };
             midFrameLayout.AddChidren(loginErrorBtn);
 
@@ -205,7 +209,7 @@
                 Y = Application.GetRealHeight(1198),
                 Width = Application.GetRealWidth(250),
                 Height = Application.GetRealHeight(58),
-                TextID = R.MyInternationalizationString.ForgotPWD,
+                TextID = R.MyInternationalizationString.ForgotPWD_1,
                 TextSize = CommonFormResouce.loginTextSize,
                 TextColor = Shared.Common.ZigbeeColor.Current.GXCTextGrayColor,
                 TextAlignment = TextAlignment.CenterRight
@@ -219,14 +223,15 @@
                 Height = Application.GetRealHeight(127),
                 Gravity = Gravity.CenterHorizontal,
                 TextID = R.MyInternationalizationString.Login,
-                TextSize = 15,
+                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 = !string.IsNullOrEmpty(pwdRow.PasswrodET?.Text),
-                IsSelected = !string.IsNullOrEmpty(pwdRow.PasswrodET?.Text)
+                IsSelected = !string.IsNullOrEmpty(pwdRow.PasswrodET?.Text),
+                IsBold=true
             };
             midFrameLayout.AddChidren(loginBtn);
 
@@ -280,6 +285,11 @@
             #endregion
 
             BindEvent();
+
+            if (string.IsNullOrEmpty(account) == false && AccountLogic.Instance.CheckEmail(account) == true)
+            {
+                SelectPhoneOrEmail_MouseUpEvent(phoneEmailForm.SelectedEmail, null);
+            }
         }
 
         #endregion
@@ -682,8 +692,6 @@
             }
         }
 
-
-
         /// <summary>
         /// phone/email 閫夋嫨
         /// </summary>
@@ -692,9 +700,10 @@
         private void SelectPhoneOrEmail_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs)
         {
             phoneEmailForm.SelectedPhone.IsSelected = phoneEmailForm.SelectedEmail.IsSelected = false;
+            phoneEmailForm.SelectedPhone.IsBold = phoneEmailForm.SelectedEmail.IsBold = false;
             loginBtn.Enable = loginBtn.IsSelected = false;
             loginErrorBtn.Text = string.Empty;
-            (sender as Button).IsSelected = true;
+            (sender as Button).IsSelected = (sender as Button).IsBold = true;
             if((sender as Button).Tag.ToString()=="Phone")
             {
                 AddPhoneOrEmailFL(accountPwdFL, "Phone");
diff --git a/ZigbeeApp/Shared/Phone/Device/Account/AccountLoginByCode.cs b/ZigbeeApp/Shared/Phone/Device/Account/AccountLoginByCode.cs
index fd7b59a..db1f31a 100644
--- a/ZigbeeApp/Shared/Phone/Device/Account/AccountLoginByCode.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Account/AccountLoginByCode.cs
@@ -67,6 +67,10 @@
         /// 楠岃瘉鐮�
         /// </summary>
         private string code;
+        /// <summary>
+        /// wechat
+        /// </summary>
+        private Button wechatBtn;
 
         private Timer t;
         private DateTime dateBegin;
@@ -151,7 +155,8 @@
                 Width = Application.GetRealWidth(300),
                 Gravity = Gravity.CenterHorizontal,
                 TextID = R.MyInternationalizationString.AppName,
-                TextColor = ZigbeeColor.Current.GXCTextWhiteColor
+                TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
+                TextSize = 16
             };
             midFrameLayout.AddChidren(logoName);
 
@@ -167,6 +172,8 @@
                 Height = Application.GetRealHeight(58),
                 TextColor = ZigbeeColor.Current.GXCTextRed,
                 TextAlignment = TextAlignment.CenterLeft,
+                TextSize = CommonFormResouce.TextSize,
+                IsBold = true
             };
             midFrameLayout.AddChidren(loginErrorBtn);
 
@@ -189,7 +196,7 @@
                 Y = Application.GetRealHeight(1198),
                 Width = Application.GetRealWidth(250),
                 Height = Application.GetRealHeight(58),
-                TextID = R.MyInternationalizationString.ForgotPWD,
+                TextID = R.MyInternationalizationString.ForgotPWD_1,
                 TextSize = CommonFormResouce.loginTextSize,
                 TextColor = Shared.Common.ZigbeeColor.Current.GXCTextGrayColor,
                 TextAlignment = TextAlignment.CenterRight
@@ -203,7 +210,8 @@
                 Height = Application.GetRealHeight(127),
                 Gravity = Gravity.CenterHorizontal,
                 TextID = R.MyInternationalizationString.Login,
-                TextSize = 15,
+                TextSize = 16,
+                IsBold=true,
                 TextColor = ZigbeeColor.Current.GXCTextGrayColor,
                 SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                 SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonBlackSelectedColor,
@@ -240,6 +248,17 @@
             };
             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);
+
             BindEvent();
         }
 
@@ -261,6 +280,8 @@
             registerBtn.MouseUpEventHandler += Register;
             //蹇樿瀵嗙爜
             forgotPasswordBtn.MouseUpEventHandler += ForgetPWD_MouseUpEvent;
+            //wechat
+            wechatBtn.MouseUpEventHandler += LoginByWechat;
 
         }
 
@@ -279,6 +300,10 @@
             CommonPage.Loading.Start();
             try
             {
+                if (CheckAccount(account) == false)
+                {
+                    return;
+                }
                 var reqLoginByCode = new SendDataToServer.LoginValidCodeOBJ()
                 {
                     Account = account,
@@ -359,8 +384,12 @@
                 else if (stateCodeStr == "VALIDCODEANDPHONENOEQUAL")
                 {
                     CommonPage.Loading.Hide();
-                    //楠岃瘉鐮侀敊璇�
                     loginErrorBtn.TextID = R.MyInternationalizationString.VALIDCODEANDPHONENOEQUAL;
+                }
+                else if (stateCodeStr == "NORECORD")
+                {
+                    CommonPage.Loading.Hide();
+                    loginErrorBtn.TextID = R.MyInternationalizationString.NORECORD;
                 }
                 else if (stateCodeStr == "YOUDATANOISLOCALREGION")
                 {
@@ -414,8 +443,9 @@
         private void SelectPhoneOrEmail_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs)
         {
             phoneEmailForm.SelectedPhone.IsSelected = phoneEmailForm.SelectedEmail.IsSelected = false;
+            phoneEmailForm.SelectedPhone.IsBold = phoneEmailForm.SelectedEmail.IsBold = false;
             loginBtn.Enable = loginBtn.IsSelected = false;
-            (sender as Button).IsSelected = true;
+            (sender as Button).IsSelected = (sender as Button).IsBold = true;
             if ((sender as Button).Tag.ToString() == "Phone")
             {
                 AddPhoneOrEmailFL(accountCodeFL, "Phone");
@@ -453,6 +483,179 @@
             codeRow.SendCodeBtn.MouseUpEventHandler += SendCode_MouseUpEventAsync;
             codeRow.VerificationCodeET.TextChangeEventHandler += Code_TextChange;
         }
+
+        /// <summary>
+        /// wechat鐧诲綍
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="mouseEventArgs"></param>
+        private void LoginByWechat(object sender, MouseEventArgs mouseEventArgs)
+        {
+#if Android
+            //var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP),
+            //    Language.StringByID(R.MyInternationalizationString.LoginByWechat),
+            //    Language.StringByID(R.MyInternationalizationString.Cancel),
+            //    Language.StringByID(R.MyInternationalizationString.Confrim));
+            //alert.Show();
+            //alert.ResultEventHandler += (send, e) =>
+            //{
+            //if (e)
+            //{
+            com.hdl.home.Application.WXLogin();
+            com.hdl.home.WXEntryActivity.RespAction = (authStr) =>
+            {
+                if (authStr == null)
+                {
+
+                }
+                else
+                {
+                    new System.Threading.Thread(async () =>
+                    {
+                        var re = await isBindAuthAsync(authStr);
+                        if (re)
+                        {
+                            Application.RunOnMainThread(() =>
+                            {
+                                //鐩存帴鐧诲綍
+                                HomePage.Instance.ShowLoginLoadView();
+                            });
+                            var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID();
+                            var homes = await House.GetHomeLists();
+                            //鍚姩ZigBee
+                            ZigBee.Common.Application.Init();
+                            //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
+                            await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
+                            Shared.Common.Room.InitAllRoom();
+                            Application.RunOnMainThread(() =>
+                            {
+                                this.RemoveFromParent();
+                                CommonPage.Instance.RemoveViewByTag("Login");
+                                UserPage.Instance.Fresh();
+                            });
+                        }
+                        else
+                        {
+                            var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr);
+                            Application.RunOnMainThread(() =>
+                            {
+                                var registerPage = new AccountRegister();
+                                Shared.Common.CommonPage.Instance.AddChidren(registerPage);
+                                registerPage.OpenID = authRes.openid;
+                                registerPage.Show();
+                            });
+                        }
+                    })
+                    { IsBackground = true }.Start();
+                }
+            };
+            //}
+            //};
+#endif
+
+#if iOS
+            Home.IOS.AppDelegate.WXLogin();
+            Home.IOS.AppDelegate.RespAction = (authStr) =>
+            {
+                if (authStr == null)
+                {
+
+                }
+                else
+                {
+                    new System.Threading.Thread(async () =>
+                    {
+
+                        var re = await isBindAuthAsync(authStr);
+                        if (re)
+                        {
+                            //鐩存帴鐧诲綍
+                            //this.RemoveFromParent();
+
+                            //UserPage.Instance.Fresh();
+                            var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID();
+                            var homes = await House.GetHomeLists();
+                            //鍚姩ZigBee
+                            ZigBee.Common.Application.Init();
+                            //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
+                            await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
+                            Shared.Common.Room.InitAllRoom();
+                            Application.RunOnMainThread(() =>
+                            {
+                                this.RemoveFromParent();
+                                UserPage.Instance.Fresh();
+                            });
+                        }
+                        else
+                        {
+                            var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr);
+                            Application.RunOnMainThread(() =>
+                            {
+                                var registerPage = new AccountRegister();
+                                Shared.Common.CommonPage.Instance.AddChidren(registerPage);
+                                registerPage.OpenID = authRes.openid;
+                                registerPage.Show();
+                            });
+                        }
+                    })
+                    { IsBackground = true }.Start();
+                }
+            };
+#endif
+        }
+
+        /// <summary>
+        /// qq鐧诲綍
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="mouseEventArgs"></param>
+        private void LoginByQQ(object sender, MouseEventArgs mouseEventArgs)
+        {
+
+        }
+
+        /// <summary>
+        /// 鏄惁宸茬粦瀹�
+        /// </summary>
+        /// <param name="authStr"></param>
+        /// <returns></returns>
+        private async System.Threading.Tasks.Task<bool> isBindAuthAsync(string authStr)
+        {
+            var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr);
+            var auth = new SendDataToServer.AuthUser()
+            {
+                AccessToken = authRes.access_token,
+                RefreshToken = authRes.refresh_token,
+                OpenID = authRes.openid
+            };
+            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(auth);
+            var revertObj = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/InsertOrUpdateAuthUser", System.Text.Encoding.UTF8.GetBytes(requestJson));
+            if (revertObj == null)
+            {
+                return false;
+            }
+            var stateCodeStr = revertObj.StateCode.ToUpper();
+            if (stateCodeStr == "SUCCESS")
+            {
+                var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString());
+                var revertData = responseDataObj;
+                Config.Instance.Account = revertData.Account;
+                Config.Instance.MD5PWD = revertData.MD5PWD;
+                Config.Instance.Guid = revertData.Guid;
+                Config.Instance.LoginDateTime = DateTime.Now;
+                if (Config.Instance.AccountList.Find((obj) => obj == revertData.Account) == null)
+                {
+                    Config.Instance.AccountList.Add(revertData.Account);
+                }
+                Config.Instance.Save();
+                return true;
+            }
+            else
+            {
+                return false;
+            }
+        }
+
         #endregion
 
         #region 鈼� 璐﹀彿銆侀獙璇佺爜鐩戝惉______________________
diff --git a/ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs b/ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs
index 58bb7b5..ed300a9 100644
--- a/ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs
@@ -143,6 +143,8 @@
                 Height = Application.GetRealHeight(58),
                 TextColor = ZigbeeColor.Current.GXCTextRed,
                 TextAlignment = TextAlignment.CenterLeft,
+                TextSize = CommonFormResouce.TextSize,
+                IsBold = true
             };
             bodyFrameLayout.AddChidren(errorBtn);
 
@@ -159,7 +161,9 @@
                 BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor,
                 Radius = (uint)Application.GetRealHeight(127 / 2),
                 Enable = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text),
-                IsSelected = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text)
+                IsSelected = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text),
+                TextSize = 16,
+                IsBold = true,
             };
             bodyFrameLayout.AddChidren(registerBtn);
 
@@ -168,7 +172,7 @@
                 Y = registerBtn.Bottom + Application.GetRealHeight(50),
                 Width = Application.GetRealWidth(400),
                 Height = Application.GetRealHeight(58),
-                TextID = R.MyInternationalizationString.LoginByAccountPWD,
+                TextID = R.MyInternationalizationString.LoginByAccountPWD_1,
                 TextColor = ZigbeeColor.Current.GXCTextGrayColor,
                 TextSize = CommonFormResouce.loginTextSize,
                 Gravity=Gravity.CenterHorizontal
@@ -188,8 +192,9 @@
         private void SelectPhoneOrEmail_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs)
         {
             phoneEmailForm.SelectedPhone.IsSelected = phoneEmailForm.SelectedEmail.IsSelected = false;
+            phoneEmailForm.SelectedPhone.IsBold = phoneEmailForm.SelectedEmail.IsBold = false;
             registerBtn.Enable = registerBtn.IsSelected = false;
-            (sender as Button).IsSelected = true;
+            (sender as Button).IsSelected = (sender as Button).IsBold = true;
             account = string.Empty;
             errorBtn.Text = string.Empty;
             if ((sender as Button).Tag.ToString() == "Phone")
@@ -325,6 +330,10 @@
                     //楠岃瘉鐮侀敊璇�
                     errorBtn.TextID = R.MyInternationalizationString.VALIDCODEANDPHONENOEQUAL;
                 }
+                else if (stateCodeStr == "NORECORD")
+                {
+                    errorBtn.TextID = R.MyInternationalizationString.NORECORD;
+                }
                 else
                 {
                     errorBtn.TextID = R.MyInternationalizationString.RequestServerFailed;
diff --git a/ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs b/ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs
index 01c2e9c..a618366 100644
--- a/ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs
@@ -61,7 +61,9 @@
                 SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                 Radius = (uint)Application.GetRealHeight(height / 2),
                 IsSelected = true,
-                Tag = "Phone"
+                IsBold=true,
+                Tag = "Phone",
+                TextSize= CommonFormResouce.TextSize
             };
             PhoneEmailFL.AddChidren(SelectedPhone);
 
@@ -76,7 +78,8 @@
                 SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                 Radius = (uint)Application.GetRealHeight(height / 2),
                 IsSelected = false,
-                Tag = "Email"
+                Tag = "Email",
+                TextSize = CommonFormResouce.TextSize
             };
             PhoneEmailFL.AddChidren(SelectedEmail);
         }
@@ -108,6 +111,10 @@
         /// Button_Height
         /// </summary>
         private int Button_Height = 92;
+        /// <summary>
+        /// accountLine
+        /// </summary>
+        private Button accountLine;
 
         /// <summary>
         /// Init
@@ -135,21 +142,12 @@
                 TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
                 Text = $"+{CommonPage.PhoneZoneStr}",
                 TextAlignment = TextAlignment.Center,
-                TextSize = CommonFormResouce.loginTextSize
+                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;
                };
-
-                //var zoneListView = new PhoneZone { };
-                //zoneListView.ActionSelectedZone += (zone) =>
-                //{
-                //    var t = CommonPage.PhoneZoneStr;
-                //    (sender as Button).Text = "+" + zone;
-                //};
-                //parFL.AddChidren(zoneListView);
-                //zoneListView.Show();
             };
 
             AccountET = new EditText()
@@ -163,18 +161,39 @@
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Text = account,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CommonFormResouce.loginTextSize
+                TextSize = CommonFormResouce.PlaceHolderTextSize
             };
             accountFL.AddChidren(AccountET);
 
-            var accountLine = new Button()
+            accountLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
                 BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             accountFL.AddChidren(accountLine);
+
+            AccountET.FoucsChanged += Text_FoucesChangeEvent;
+        }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                accountLine.Height = 2;
+            }
+            else
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                accountLine.Height = 1;
+            }
         }
     }
 
@@ -188,6 +207,10 @@
         /// Button_Height
         /// </summary>
         private int Button_Height = 92;
+        /// <summary>
+        /// accountLine
+        /// </summary>
+        private Button accountLine;
 
         /// <summary>
         /// Init
@@ -227,18 +250,40 @@
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Text = account,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CommonFormResouce.loginTextSize
+                TextSize = CommonFormResouce.PlaceHolderTextSize
             };
             accountFL.AddChidren(AccountET);
 
-            var accountLine = new Button()
+            accountLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height)-2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
                 BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             accountFL.AddChidren(accountLine);
+
+            AccountET.FoucsChanged += Text_FoucesChangeEvent;
+            
+        }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if(focusEvent.Focus)
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                accountLine.Height = 2;
+            }
+            else
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                accountLine.Height = 1;
+            }
         }
     }
 
@@ -252,6 +297,10 @@
         /// Button_Height
         /// </summary>
         private int Button_Height = 92;
+        /// <summary>
+        /// accountLine
+        /// </summary>
+        private Button accountLine;
 
         /// <summary>
         /// Init
@@ -291,19 +340,41 @@
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Text = account,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CommonFormResouce.loginTextSize
+                TextSize = CommonFormResouce.PlaceHolderTextSize
             };
             accountFL.AddChidren(AccountET);
 
-            var accountLine = new Button()
+            accountLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
                 BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             accountFL.AddChidren(accountLine);
+
+            AccountET.FoucsChanged += Text_FoucesChangeEvent;
         }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                accountLine.Height = 2;
+            }
+            else
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                accountLine.Height = 1;
+            }
+        }
+
     }
 
 
@@ -317,6 +388,10 @@
         /// Button_Height
         /// </summary>
         private int Button_Height = 92;
+        /// <summary>
+        /// accountLine
+        /// </summary>
+        private Button accountLine;
 
         /// <summary>
         /// Init
@@ -356,19 +431,41 @@
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Text = account,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CommonFormResouce.loginTextSize
+                TextSize = CommonFormResouce.PlaceHolderTextSize
             };
             accountFL.AddChidren(AccountET);
 
-            var accountLine = new Button()
+            accountLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
                 BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             accountFL.AddChidren(accountLine);
+
+            AccountET.FoucsChanged += Text_FoucesChangeEvent;
         }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                accountLine.Height = 2;
+            }
+            else
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                accountLine.Height = 1;
+            }
+        }
+
     }
 
     public class EmailForgotRowForm : FrameLayout
@@ -381,6 +478,10 @@
         /// Button_Height
         /// </summary>
         private int Button_Height = 92;
+        /// <summary>
+        /// accountLine
+        /// </summary>
+        private Button accountLine;
 
         /// <summary>
         /// Init
@@ -410,18 +511,39 @@
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Text = account,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CommonFormResouce.loginTextSize
+                TextSize = CommonFormResouce.PlaceHolderTextSize
             };
             accountFL.AddChidren(AccountET);
 
-            var accountLine = new Button()
+            accountLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
-                BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor
+                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             accountFL.AddChidren(accountLine);
+
+            AccountET.FoucsChanged += Text_FoucesChangeEvent;
+        }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                accountLine.Height = 2;
+            }
+            else
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                accountLine.Height = 1;
+            }
         }
     }
 
@@ -443,6 +565,10 @@
         /// VerificationCodeET
         /// </summary>
         public EditText VerificationCodeET;
+        /// <summary>
+        /// pwdLine
+        /// </summary>
+        private Button pwdLine;
 
         /// <summary>
         /// Init
@@ -506,19 +632,42 @@
                 TextColor = ZigbeeColor.Current.GXCTextGrayColor,
                 SelectedTextColor = ZigbeeColor.Current.GXCTextColor,
                 TextAlignment = TextAlignment.Center,
+                TextSize=CommonFormResouce.TextSize,
                 Enable = false,
-                IsSelected = false
+                IsSelected = false,
+                IsBold=true
             };
             codeFL.AddChidren(SendCodeBtn);
 
-            var pwdLine = new Button()
+            pwdLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
-                BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor
+                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             codeFL.AddChidren(pwdLine);
+
+            VerificationCodeET.FoucsChanged += Text_FoucesChangeEvent;
+        }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                pwdLine.Height = 2;
+            }
+            else
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                pwdLine.Height = 1;
+            }
         }
     }
 
@@ -536,6 +685,10 @@
         /// Button_Height
         /// </summary>
         private int Button_Height = 92;
+        /// <summary>
+        /// pwdLine
+        /// </summary>
+        private Button pwdLine;
 
         /// <summary>
         /// Init
@@ -577,7 +730,7 @@
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Text = password,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CommonFormResouce.loginTextSize,
+                TextSize = CommonFormResouce.PlaceHolderTextSize,
                 SecureTextEntry = true
             };
             pwdFL.AddChidren(PasswrodET);
@@ -600,14 +753,16 @@
                 PasswrodET.SecureTextEntry = (sender as Button).IsSelected;
             };
 
-            var pwdLine = new Button()
+            pwdLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
                 BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             pwdFL.AddChidren(pwdLine);
+
+            PasswrodET.FoucsChanged += Text_FoucesChangeEvent;
         }
         /// <summary>
         /// SetPlaceholdText
@@ -616,6 +771,25 @@
         public void SetPlaceholdText(string holdText)
         {
             PasswrodET.PlaceholderText = holdText;
+        }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                pwdLine.Height = 2;
+            }
+            else
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                pwdLine.Height = 1;
+            }
         }
     }
 
@@ -633,6 +807,10 @@
         /// Button_Height
         /// </summary>
         private int Button_Height = 92;
+        /// <summary>
+        /// pwdLine
+        /// </summary>
+        private Button pwdLine;
 
         /// <summary>
         /// Init
@@ -674,7 +852,7 @@
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Text = password,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CommonFormResouce.loginTextSize,
+                TextSize = CommonFormResouce.PlaceHolderTextSize,
                 SecureTextEntry = true
             };
             pwdFL.AddChidren(PasswrodET);
@@ -697,14 +875,16 @@
                 PasswrodET.SecureTextEntry = (sender as Button).IsSelected;
             };
 
-            var pwdLine = new Button()
+            pwdLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
-                BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor
+                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             pwdFL.AddChidren(pwdLine);
+
+            PasswrodET.FoucsChanged += Text_FoucesChangeEvent;
         }
         /// <summary>
         /// SetPlaceholdText
@@ -713,6 +893,25 @@
         public void SetPlaceholdText(string holdText)
         {
             PasswrodET.PlaceholderText = holdText;
+        }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                pwdLine.Height = 2;
+            }
+            else
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                pwdLine.Height = 1;
+            }
         }
     }
 
@@ -730,6 +929,10 @@
         /// Button_Height
         /// </summary>
         private int Button_Height = 92;
+        /// <summary>
+        /// pwdLine
+        /// </summary>
+        private Button pwdLine;
 
         /// <summary>
         /// Init
@@ -761,7 +964,7 @@
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Text = password,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CommonFormResouce.loginTextSize,
+                TextSize = CommonFormResouce.PlaceHolderTextSize,
                 SecureTextEntry = true
             };
             pwdFL.AddChidren(PasswrodET);
@@ -784,14 +987,16 @@
                 PasswrodET.SecureTextEntry = (sender as Button).IsSelected;
             };
 
-            var pwdLine = new Button()
+            pwdLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
                 BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             pwdFL.AddChidren(pwdLine);
+
+            PasswrodET.FoucsChanged += Text_FoucesChangeEvent;
         }
         /// <summary>
         /// SetPlaceholdText
@@ -800,6 +1005,26 @@
         public void SetPlaceholdText(string holdText)
         {
             PasswrodET.PlaceholderText = holdText;
+        }
+
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                pwdLine.Height = 2;
+            }
+            else
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                pwdLine.Height = 1;
+            }
         }
     }
 
@@ -821,6 +1046,10 @@
         /// VerificationCodeET
         /// </summary>
         public EditText VerificationCodeET;
+        /// <summary>
+        /// pwdLine
+        /// </summary>
+        private Button pwdLine;
         /// <summary>
         /// sendCodeBG
         /// </summary>
@@ -889,18 +1118,42 @@
                 SelectedBackgroundColor=ZigbeeColor.Current.GXCButtonSelectedColor,
                 Enable = false,
                 IsSelected = false,
-                Radius=(uint)Application.GetRealHeight(12)
+                Radius=(uint)Application.GetRealHeight(12),
+                IsBold=true,
+                TextSize=CommonFormResouce.TextSize
             };
             codeFL.AddChidren(SendCodeBtn);
 
-        var pwdLine = new Button()
+            pwdLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(536),
                 Height = 1,
-                BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor
+                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             codeFL.AddChidren(pwdLine);
+
+            VerificationCodeET.FoucsChanged += Text_FoucesChangeEvent;
+
+        }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                pwdLine.Height = 2;
+            }
+            else
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                pwdLine.Height = 1;
+            }
         }
 
         /// <summary>
@@ -978,6 +1231,10 @@
         /// </summary>
         public EditText VerificationCodeET;
         /// <summary>
+        /// pwdLine
+        /// </summary>
+        private Button pwdLine;
+        /// <summary>
         /// Timer
         /// </summary>
         private Timer t;
@@ -1037,18 +1294,41 @@
                 SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonSelectedColor,
                 Enable = false,
                 IsSelected = false,
-                Radius = (uint)Application.GetRealHeight(12)
+                Radius = (uint)Application.GetRealHeight(12),
+                IsBold=true,
+                TextSize=CommonFormResouce.TextSize
             };
             codeFL.AddChidren(SendCodeBtn);
 
-            var pwdLine = new Button()
+            pwdLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(536),
                 Height = 1,
-                BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor
+                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             codeFL.AddChidren(pwdLine);
+
+            VerificationCodeET.FoucsChanged += Text_FoucesChangeEvent;
+        }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                pwdLine.Height = 2;
+            }
+            else
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                pwdLine.Height = 1;
+            }
         }
 
         /// <summary>
diff --git a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
index 05ddd7c..a061d26 100644
--- a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs
@@ -1618,14 +1618,6 @@
                                 deviceRow.HideSwitchBtn(true);
                                 deviceTypeRowLayout.AddChidren(deviceRow);
 
-                                deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) =>
-                                {
-                                    var userDoorLockPage = new UserDoorLockPage(curRoom, deviceUI);
-                                    HomePage.Instance.AddChidren(userDoorLockPage);
-                                    HomePage.Instance.PageIndex += 1;
-                                    userDoorLockPage.Show();
-                                };
-
                                 var editBtn = new CommonForm.RowLayoutEditButton()
                                 {
                                     Tag = deviceUI
diff --git a/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs b/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs
index 4b8facc..531dedd 100644
--- a/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs
@@ -254,8 +254,8 @@
                         }
                     }
                 }
-
-                if (sceneTargetDevicesList.Count > 2)
+                
+                if (sceneTargetDevicesList.Count > 1)
                 {
                     var targetRowLayout = new RowLayout()
                     {
@@ -438,6 +438,7 @@
             targetFL.AddChidren(TargetListScrolView);
 
             confirmBtn = new CommonForm.CompleteButton(1656, 907, 127);
+            confirmBtn.TextID = R.MyInternationalizationString.Next;
             AddChidren(confirmBtn);
 
             if (isModify)
@@ -1240,7 +1241,7 @@
 
             var deviceName = new Button
             {
-                Width = Application.GetRealWidth(400),
+                Width = Application.GetRealWidth(600),
                 Gravity = Gravity.CenterHorizontal,
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 TextSize = 16,
@@ -1396,7 +1397,7 @@
 
             var deviceName = new Button
             {
-                Width = Application.GetRealWidth(400),
+                Width = Application.GetRealWidth(600),
                 Gravity = Gravity.CenterHorizontal,
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 TextSize = 16,
@@ -1561,7 +1562,7 @@
 
             var deviceName = new Button
             {
-                Width = Application.GetRealWidth(400),
+                Width = Application.GetRealWidth(600),
                 Gravity = Gravity.CenterHorizontal,
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 TextSize = 16,
@@ -1734,7 +1735,7 @@
 
             var deviceName = new Button
             {
-                Width = Application.GetRealWidth(400),
+                Width = Application.GetRealWidth(600),
                 Gravity = Gravity.CenterHorizontal,
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 TextSize = 16,
diff --git a/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs b/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs
index 40723c9..efe2704 100644
--- a/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs
@@ -476,7 +476,7 @@
                 Height = Application.GetRealHeight(200),
                 Width = Application.GetRealWidth(700),
                 Gravity = Gravity.CenterHorizontal,
-                Text = Language.StringByID(R.MyInternationalizationString.NoFunction_Tip).Replace("{\\r\\n}", "\r\n"),
+                Text = Language.StringByID(R.MyInternationalizationString.NoFunction).Replace("{\\r\\n}", "\r\n"),
                 TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
                 TextAlignment = TextAlignment.Center,
                 IsMoreLines = true
@@ -574,7 +574,7 @@
 
             var deviceName = new Button
             {
-                Width = Application.GetRealWidth(400),
+                Width = Application.GetRealWidth(600),
                 Gravity = Gravity.CenterHorizontal,
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 TextSize = 16,
@@ -730,7 +730,7 @@
 
             var deviceName = new Button
             {
-                Width = Application.GetRealWidth(400),
+                Width = Application.GetRealWidth(600),
                 Gravity = Gravity.CenterHorizontal,
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 TextSize = 16,
@@ -895,7 +895,7 @@
 
             var deviceName = new Button
             {
-                Width = Application.GetRealWidth(400),
+                Width = Application.GetRealWidth(600),
                 Gravity = Gravity.CenterHorizontal,
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 TextSize = 16,
@@ -1061,7 +1061,7 @@
 
             var deviceName = new Button
             {
-                Width = Application.GetRealWidth(400),
+                Width = Application.GetRealWidth(600),
                 Gravity = Gravity.CenterHorizontal,
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 TextSize = 16,
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/ButtonLineForm.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/ButtonLineForm.cs
index 1f97860..78e5035 100644
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/ButtonLineForm.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/ButtonLineForm.cs
@@ -64,7 +64,7 @@
                 Width = Width,
                 Height = Height - Application.GetRealHeight(6),
                 TextColor = ZigbeeColor.Current.GXCTextGrayColor4,
-                SelectedTextColor = ZigbeeColor.Current.GXCTextDeepBlackColor,
+                SelectedTextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 TextSize = CommonFormResouce.TextSize,
                 TextAlignment = TextAlignment.CenterLeft
             };
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/CommonFormResouce.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/CommonFormResouce.cs
index 0c64067..e6dcc45 100644
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/CommonFormResouce.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/CommonFormResouce.cs
@@ -25,9 +25,9 @@
         public const int loginTextSize = 12;
         /// <summary>
         /// 鍗犱綅瀛椾綋澶у皬
-        /// 12
+        /// 14
         /// </summary>
-        public const int PlaceHolderTextSize = 12;
+        public const int PlaceHolderTextSize = 14;
 
         /// <summary>
         /// Row_Height
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs
index b992f88..b696113 100644
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs
@@ -407,15 +407,15 @@
                             CommonPage.Loading.Hide();
                             if (result)
                             {
-                                var alertSuccess = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.Success), Language.StringByID(R.MyInternationalizationString.Confrim));
-                                alertSuccess.Show();
-                                alertSuccess.ResultEventHandler += (senderSuccess, eSuccess) =>
-                                {
+                                //var alertSuccess = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.Success), Language.StringByID(R.MyInternationalizationString.Confrim));
+                                //alertSuccess.Show();
+                                //alertSuccess.ResultEventHandler += (senderSuccess, eSuccess) =>
+                                //{
                                     //鏀规埧闂�
                                     Shared.Common.Room.CurrentRoom.ChangedRoom(device.CommonDevice, curRoom.Id);
                                     device.CommonDevice.ReSave();
                                     RemoveFromParent();
-                                };
+                                //};
                             }
                             else
                             {
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoEditRow.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoEditRow.cs
index 47ac9b4..a094781 100644
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoEditRow.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoEditRow.cs
@@ -58,9 +58,9 @@
             var line = new Button()
             {
                 X = Application.GetRealWidth(CommonFormResouce.X_Left),
-                Y = Height - 2,
+                Y = Height - 1,
                 Width = Application.GetRealWidth(965),
-                Height = 2,
+                Height = 1,
                 BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2,
             };
             AddChidren(line);
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoRow.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoRow.cs
index 3004d7d..397eb92 100644
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoRow.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoRow.cs
@@ -79,9 +79,9 @@
             line = new Button()
             {
                 X = Application.GetRealWidth(CommonFormResouce.X_Left),
-                Y = Height - 2,
+                Y = Height - 1,
                 Width = Application.GetRealWidth(965),
-                Height = 2,
+                Height = 1,
                 BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2,
             };
             AddChidren(line);
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionRow.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionRow.cs
index 6c6f502..64d5392 100644
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionRow.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionRow.cs
@@ -125,10 +125,10 @@
             var line = new Button()
             {
                 X = Application.GetRealWidth(200),
-                Y = Height - 2,
+                Y = Height - 1,
                 Width = Application.GetRealWidth(821),
-                Height = 2,
-                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor,
+                Height = 1,
+                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2,
                 Tag = Tag
             };
             AddChidren(line);
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs
index ebede4c..0d012e2 100644
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs
@@ -24,8 +24,8 @@
 
         public override void RemoveFromParent()
         {
-            HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice");
-            HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice");
+            HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice" + room.Id);
+            HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice" + room.Id);
             base.RemoveFromParent();
         }
 
@@ -139,8 +139,8 @@
 
             if (string.IsNullOrEmpty(room.TemperatrueDevice) == false)
             {
-                HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice");
-                HdlGatewayReceiveLogic.Current.AddAttributeEvent("TemperatrueDevice", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (Action<ZigBee.Device.CommonDevice>)((report) =>
+                HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice" + room.Id);
+                HdlGatewayReceiveLogic.Current.AddAttributeEvent("TemperatrueDevice" + room.Id, ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (report) =>
                 {
                     string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report);
                     if (room.TemperatrueDevice != mainKeys)
@@ -179,7 +179,7 @@
                             }
                         }
                     }
-                }));
+                });
                 //鍙戦�佽幏鍙栨俯搴︾殑鍛戒护
                 var dev = Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice);
                 if (dev != null)
@@ -190,8 +190,8 @@
 
             if (string.IsNullOrEmpty(room.HumidityDevice) == false)
             {
-                HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice");
-                HdlGatewayReceiveLogic.Current.AddAttributeEvent("HumidityDevice",  ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (report) =>
+                HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice"+room.Id);
+                HdlGatewayReceiveLogic.Current.AddAttributeEvent("HumidityDevice" + room.Id,  ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (report) =>
                 {
                     string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report);
                     if (room.HumidityDevice != mainKeys)
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
index e1e988d..ee43ad7 100644
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
@@ -193,6 +193,7 @@
                 {
                     sceneRowLayout.AddRightView(settingBtn);
                     sceneRowLayout.AddRightView(deleteBtn);
+                   
                 }
             }
 
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithSeekBarRow.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithSeekBarRow.cs
index 727b09a..0d6a763 100644
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithSeekBarRow.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithSeekBarRow.cs
@@ -136,7 +136,7 @@
                 Y = this.Height - 1,
                 Width = Application.GetRealWidth(919),
                 Height = 1,
-                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor,
+                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2,
             };
             AddChidren(line);
 
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneRow.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneRow.cs
index 48a7679..0c2f880 100644
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneRow.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneRow.cs
@@ -106,10 +106,10 @@
             line = new Button()
             {
                 X = Application.GetRealWidth(180),
-                Y = this.Height - 2,
+                Y = this.Height - 1,
                 Width = Application.GetRealWidth(841),
-                Height = 2,
-                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor,
+                Height = 1,
+                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2,
             };
             AddChidren(line);
 
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneStatuRow.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneStatuRow.cs
index 7949d81..6f92f8b 100644
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneStatuRow.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneStatuRow.cs
@@ -100,7 +100,7 @@
                 Y = this.Height - 1,
                 Width = Application.GetRealWidth(919),
                 Height = 1,
-                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor,
+                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2,
             };
             AddChidren(line);
         }
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectZone.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectZone.cs
index 78d0cef..2779996 100644
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectZone.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SelectZone.cs
@@ -13,7 +13,11 @@
         private List<string> floorList = new List<string> { };
         private List<string> roomList = new List<string> { };
         private List<string> roomIdList = new List<string> { };
-        private string currentId;
+        /// <summary>
+        /// curRoom
+        /// </summary>
+        private Common.Room curRoom;
+
         public SelectZone()
         {
         }
@@ -23,70 +27,54 @@
         /// </summary>
         public void Init()
         {
-            var dialog = new FrameLayout()
+            List<string> floorIds = new List<string> { };
+            List<string> floorNames = new List<string> { };
+            List<List<string>> roomNames = new List<List<string>> { };
+            List<List<Common.Room>> rooms = new List<List<Common.Room>> { };
+            List<Common.Room> rs = new List<Common.Room> { };
+            List<string> rNames = new List<string> { };
+            if (Config.Instance.Home.FloorDics.Count > 0)
             {
-                BackgroundColor = ZigbeeColor.Current.GXCDailogBackGroundColor
-            };
-            AddChidren(dialog);
-
-            dialog.MouseUpEventHandler += (sender, e) =>
+                foreach (var floor in Config.Instance.Home.FloorDics)
+                {
+                    floorIds.Add(floor.Key);
+                    floorNames.Add(floor.Value);
+                    if (Common.Room.CurrentRoom.GetRoomsByFloorId(floor.Key).Count > 0)
+                    {
+                        roomNames.Add(Common.Room.CurrentRoom.GetRoomNamesByFloorId(floor.Key));
+                        rooms.Add(Common.Room.CurrentRoom.GetRoomsByFloorId(floor.Key));
+                    }
+                }
+                PickerView.ShowSecondary(floorNames, roomNames, (index1, index2) =>
+                {
+                    curRoom = rooms[index1][index2];
+                    ZoneAction?.Invoke(curRoom);
+                    RemoveFromParent();
+                }, 0, 0, Language.StringByID(R.MyInternationalizationString.BelongFloor),
+               Language.StringByID(R.MyInternationalizationString.Confrim),
+               Language.StringByID(R.MyInternationalizationString.Cancel));
+            }
+            else
             {
-                RemoveFromParent();
-            };
-
-            var backgroundFL = new FrameLayout
-            {
-                Y = Application.GetRealHeight(1115),
-                Height = Application.GetRealHeight(805),
-                BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
-                Radius = (uint)Application.GetRealHeight(20)
-            };
-            dialog.AddChidren(backgroundFL);
-
-            var topView = new FrameLayout
-            {
-                Height = Application.GetRealHeight(138)
-            };
-            backgroundFL.AddChidren(topView);
-
-            var cancle = new Button
-            {
-                X = Application.GetRealWidth(80),
-                Width = Application.GetRealWidth(300),
-                TextAlignment = TextAlignment.CenterLeft,
-                TextColor = ZigbeeColor.Current.GXCTextGrayColor,
-                TextID = R.MyInternationalizationString.Cancel,
-                TextSize = 14
-            };
-            topView.AddChidren(cancle);
-
-            var title = new Button
-            {
-                Width = Application.GetRealWidth(300),
-                Gravity = Gravity.CenterHorizontal,
-                TextColor = ZigbeeColor.Current.GXCTextBlackColor2,
-                TextID = R.MyInternationalizationString.AddTo,
-                TextSize = 16
-            };
-            topView.AddChidren(title);
-
-            var confrim = new Button
-            {
-                X = Application.GetRealWidth(CommonFormResouce.AppRealWidth - 80 - 300),
-                Width = Application.GetRealWidth(300),
-                TextAlignment = TextAlignment.CenterRight,
-                TextColor = ZigbeeColor.Current.GXCTextSelectedColor2,
-                TextID = R.MyInternationalizationString.Confrim,
-                TextSize = 14
-            };
-            topView.AddChidren(confrim);
-
-            pickView = new UIPickerView
-            {
-                Y = Application.GetRealHeight(20 + 138),
-                Height = Application.GetRealHeight(450)
-            };
-            backgroundFL.AddChidren(pickView);
+                for (int i = 0; i < Common.Room.Lists.Count; i++)
+                {
+                    var r = Common.Room.Lists[i];
+                    if (r.IsLove)
+                    {
+                        continue;
+                    }
+                    rs.Add(r);
+                    rNames.Add(r.Name);
+                }
+                PickerView.Show(rNames, (index1) =>
+                {
+                    curRoom = rs[index1];
+                    ZoneAction?.Invoke(curRoom);
+                    RemoveFromParent();
+                }, 0, Language.StringByID(R.MyInternationalizationString.BelongFloor),
+               Language.StringByID(R.MyInternationalizationString.Confrim),
+               Language.StringByID(R.MyInternationalizationString.Cancel));
+            }
 
             foreach (var floor in Config.Instance.Home.FloorDics)
             {
@@ -101,28 +89,7 @@
                 roomList.Add(room.Name);
                 roomIdList.Add(room.Id);
             }
-
-            if (floorList.Count == 0)
-            {
-                pickView.setNPicker(roomList, null, null);
-                currentId = roomIdList[0];
-                pickView.OnSelectChangeEvent += (l1, l2, l3) =>
-                {
-                    currentId = roomIdList[l1];
-                };
-            }
-            else
-            {
-                pickView.setNPicker(floorList, roomList, null);
-                currentId = roomIdList[0];
-                pickView.OnSelectChangeEvent += (l1, l2, l3) =>
-                {
-                    currentId = roomIdList[l2];
-                };
-            }
-
-            cancle.MouseUpEventHandler += Close;
-            confrim.MouseUpEventHandler += Confrim_MouseEvent;
+           
         }
 
         /// <summary>
@@ -142,10 +109,7 @@
         /// <param name="mouseEventArgs"></param>
         private void Confrim_MouseEvent(object sender, MouseEventArgs mouseEventArgs)
         {
-            if (Shared.Common.Room.CurrentRoom.GetRoomById(currentId) != null)
-            {
-                ZoneAction?.Invoke(Shared.Common.Room.CurrentRoom.GetRoomById(currentId));
-            }
+            ZoneAction?.Invoke(curRoom);
             RemoveFromParent();
         }
     }
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/TopFrameLayout.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/TopFrameLayout.cs
index f5d0bda..a9624fe 100644
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/TopFrameLayout.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/TopFrameLayout.cs
@@ -65,7 +65,8 @@
             {
                 Y = Application.GetRealHeight(CommonFormResouce.TopStatuFrameLayout_Height),
                 Height = Application.GetRealHeight(CommonFormResouce.Topview_Height),
-                Width = Application.GetRealWidth(CommonPage.AppRealWidth)
+                Width = Application.GetRealWidth(CommonPage.AppRealWidth),
+                BackgroundColor=ZigbeeColor.Current.GXCTopViewBackgroundColor
             };
             AddChidren(topView);
 
@@ -73,7 +74,7 @@
             {
                 Y=Height-1,
                 Height=1,
-                BackgroundColor=ZigbeeColor.Current.GXCGrayLineColor3
+                BackgroundColor=ZigbeeColor.Current.GXCGrayLineColor4
             };
             AddChidren(line);
         }
diff --git a/ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs b/ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs
index 1c739ea..f489595 100644
--- a/ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs
@@ -705,10 +705,11 @@
                 curtainRollSeekBar.Progress = (device.CommonDevice as Rollershade).WcdCurrentPositionLiftPercentage;
                 layout.AddChidren(curtainRollSeekBar);
                 curtainRollSeekBar.IsProgressTextShow = false;
-                //curtainRollSeekBar.OnStopTrackingTouchEvent += (sender, e) =>
-                //{
-                //    (device.CommonDevice as Rollershade).WcdGoToTiltValue(curtainRollSeekBar.Progress);
-                //};
+                curtainRollSeekBar.CurtainPaddingTop = Application.GetRealHeight(110);
+                curtainRollSeekBar.OnStopTrackingTouchEvent += (sender, e) =>
+                {
+                    (device.CommonDevice as Rollershade).WcdGoToTiltValue(curtainRollSeekBar.Progress);
+                };
 
                 curtainRollSeekBar.OnStartTrackingTouchEvent += (sender, e) =>
                 {
@@ -727,9 +728,9 @@
                     OnProgressButtonMove(e2);
 
                     //鍒ゆ柇鏄惁300ms灞忚斀
-                    if (curtainRollSeekBar.IsProgressChangeDelay()) return;
+                    //if (curtainRollSeekBar.IsProgressChangeDelay()) return;
 
-                    (device.CommonDevice as Rollershade).WcdGoToTiltValue(curtainRollSeekBar.Progress);
+                    //(device.CommonDevice as Rollershade).WcdGoToTiltValue(curtainRollSeekBar.Progress);
                 };
 
                 InitProgressBtn(layout);
diff --git a/ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs
index 1c0e296..528ae90 100644
--- a/ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs
@@ -138,7 +138,7 @@
                                 }
                                 light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData;
                                 deviceIMG.IsSelected = switchBtn.IsSelected = light.OnOffStatus == 1;
-                                StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected);
+                                StatuBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}";
                                 light.LastDateTime = DateTime.Now;
                             }
                         }
@@ -307,7 +307,8 @@
                 Gravity = Gravity.CenterHorizontal,
                 Text = device.CommonDevice.DeviceEpointName,
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                TextSize = 15
+                TextSize = 15,
+                IsBold=true
             };
             itemView.AddChidren(deviceNameBtn);
 
@@ -318,7 +319,8 @@
                 Height = Application.GetRealHeight(60),
                 Gravity = Gravity.CenterHorizontal,
                 TextColor = ZigbeeColor.Current.GXCTextGrayColor,
-                Text = CommonFormResouce.GetSwitchStatu((device.CommonDevice as ZigBee.Device.AirSwitch).OnOffStatus == 1)
+                Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}",
+                TextSize = 10
             };
             itemView.AddChidren(StatuBtn);
 
@@ -381,7 +383,8 @@
                 Height = Application.GetRealHeight(50),
                 Text = room.Name,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextColor = ZigbeeColor.Current.GXCTextWhiteColor
+                TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
+                TextSize = 12
             };
             itemView.AddChidren(roomName);
         }
@@ -414,7 +417,7 @@
             zbGateway.ReportAction += UpdateDeviceControllStatu;
             switchBtn.IsSelected = !switchBtn.IsSelected;
             deviceIMG.IsSelected = !deviceIMG.IsSelected;
-            StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected);
+            StatuBtn.Text = deviceIMG.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Open)}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}";
             if (switchBtn.IsSelected == true)
             {
                 (device.CommonDevice as ZigBee.Device.AirSwitch).SwitchControl(1);
diff --git a/ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs
index c8c1092..5c7d192 100644
--- a/ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs
@@ -146,7 +146,8 @@
                                 }
                                 dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData;
                                 switchBtn.IsSelected = dimmableLight.OnOffStatus == 1;
-                                StatuBtn.Text = CommonFormResouce.GetSwitchStatu(switchBtn.IsSelected);
+                                StatuBtn.Text = switchBtn.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.CurrentLightLevel)} { device.GetDeviceStatu()}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}";
+
                                 if (switchBtn.IsSelected == true)
                                 {
                                     levelSeekBar.IsClickable = true;
@@ -179,6 +180,8 @@
                                         dimmableLight.Level = attriButeList[0].AttriButeData;
                                         dimmableLight.LastDateTime = DateTime.Now;
                                         levelSeekBar.Progress = (int)(dimmableLight.Level*1.0/MaxLevel*100);
+                                        StatuBtn.Text = switchBtn.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.CurrentLightLevel)} { device.GetDeviceStatu()}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}";
+
                                         break;
                                 }
                             }
@@ -375,7 +378,8 @@
                 Gravity = Gravity.CenterHorizontal,
                 Text = device.CommonDevice.DeviceEpointName,
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                TextSize = 15
+                TextSize = 15,
+                IsBold=true
             };
             itemView.AddChidren(deviceNameBtn);
 
@@ -386,8 +390,10 @@
                 Height = Application.GetRealHeight(60),
                 Gravity = Gravity.CenterHorizontal,
                 TextColor = ZigbeeColor.Current.GXCTextGrayColor,
-                Text = CommonFormResouce.GetSwitchStatu((device.CommonDevice as DimmableLight).OnOffStatus == 1)
+                Text = dimmableLight.Level>0?$"{Language.StringByID(R.MyInternationalizationString.CurrentLightLevel)} { device.GetDeviceStatu()}" :$"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}",
+                TextSize=10
             };
+
             itemView.AddChidren(StatuBtn);
 
             levelSeekBar = new WaveSeekBar()
@@ -399,8 +405,10 @@
                 WavePadding = Application.GetRealWidth(8),
                 MaxValue=100,
                 Progress = (int)(dimmableLight.Level*1.0/MaxLevel*100),
-                WaveColor = ZigbeeColor.Current.GXCWaveSeekBarColor
+                WaveColor = ZigbeeColor.Current.GXCWaveSeekBarColor,
+                CornerRadius= Application.GetRealHeight(58)
             };
+
             itemView.AddChidren(levelSeekBar);
 
             if (dimmableLight.OnOffStatus == 1)
@@ -417,12 +425,14 @@
             levelSeekBar.OnStartTrackingTouchEvent += (sender, e) =>
             {
                 OnProgressButtonMove(levelSeekBar.Progress);
+                levelSeekBar.IsProgressTextShow = false;
                 ProgressBtn.Visible = true;
             };
 
             levelSeekBar.OnStopTrackingTouchEvent += (sender, e) =>
             {
                 ProgressBtn.Visible = false;
+                levelSeekBar.IsProgressTextShow = true;
             };
 
             levelSeekBar.OnProgressChangedEvent += (send2, e2) =>
@@ -485,7 +495,8 @@
                 Height = Application.GetRealHeight(50),
                 Text = room.Name,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextColor = ZigbeeColor.Current.GXCTextWhiteColor
+                TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
+                TextSize = 12
             };
             itemView.AddChidren(roomName);
         }
@@ -541,7 +552,7 @@
         private void Switch_MouseUpEvent(object sender, MouseEventArgs eventArgs)
         {
             switchBtn.IsSelected = !switchBtn.IsSelected;
-            StatuBtn.Text = CommonFormResouce.GetSwitchStatu(switchBtn.IsSelected);
+            StatuBtn.Text = switchBtn.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.CurrentLightLevel)} { device.GetDeviceStatu()}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}";
             if (switchBtn.IsSelected == true)
             {
                 dimmableLight.SwitchControl(1);
diff --git a/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs
index ed3cd89..5ffffc4 100644
--- a/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs
@@ -137,7 +137,7 @@
                                 }
                                 light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData;
                                 deviceIMG.IsSelected = switchBtn.IsSelected = light.OnOffStatus == 1;
-                                StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected);
+                                StatuBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}";
                                 light.LastDateTime = DateTime.Now;
                             }
                         }
@@ -330,7 +330,8 @@
                 Gravity = Gravity.CenterHorizontal,
                 Text = device.CommonDevice.DeviceEpointName,
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                TextSize=15
+                TextSize=15,
+                IsBold=true
             };
             itemView.AddChidren(deviceNameBtn);
 
@@ -341,9 +342,11 @@
                 Height = Application.GetRealHeight(60),
                 Gravity = Gravity.CenterHorizontal,
                 TextColor = ZigbeeColor.Current.GXCTextGrayColor,
-                Text=CommonFormResouce.GetSwitchStatu((device.CommonDevice as ToggleLight).OnOffStatus == 1)
+                Text= $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}",
+                TextSize =10
             };
             itemView.AddChidren(StatuBtn);
+
 
             deviceIMG = new Button()
             {
@@ -404,7 +407,8 @@
                 Height = Application.GetRealHeight(50),
                 Text = room.Name,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextColor = ZigbeeColor.Current.GXCTextWhiteColor
+                TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
+                TextSize=12
             };
             itemView.AddChidren(roomName);
         }
@@ -437,7 +441,8 @@
             zbGateway.ReportAction += UpdateDeviceControllStatu;
             switchBtn.IsSelected = !switchBtn.IsSelected;
             deviceIMG.IsSelected = !deviceIMG.IsSelected;
-            StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected);
+            StatuBtn.Text = deviceIMG.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Open)}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}";
+
             if (switchBtn.IsSelected == true)
             {
                 (device.CommonDevice as ToggleLight).SwitchControl(1);
diff --git a/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs
index 047aa8b..9d7c7a3 100644
--- a/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs
@@ -145,7 +145,7 @@
                                 }
                                 light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData;
                                 SetONOFFStatu(light.OnOffStatus == 1);
-                                StatuBtn.Text = CommonFormResouce.GetSwitchStatu(light.OnOffStatus == 1);
+                                StatuBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}";
                                 light.LastDateTime = DateTime.Now;
                             }
                         }
@@ -337,7 +337,8 @@
                 Gravity = Gravity.CenterHorizontal,
                 Text = device.CommonDevice.DeviceEpointName,
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                TextSize = 15
+                TextSize = 15,
+                IsBold=true
             };
             itemView.AddChidren(deviceNameBtn);
 
@@ -348,7 +349,8 @@
                 Height = Application.GetRealHeight(60),
                 Gravity = Gravity.CenterHorizontal,
                 TextColor = ZigbeeColor.Current.GXCTextGrayColor,
-                Text = CommonFormResouce.GetSwitchStatu((device.CommonDevice as ToggleLight).OnOffStatus == 1)
+                Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}",
+                TextSize = 10
             };
             itemView.AddChidren(StatuBtn);
 
@@ -421,7 +423,8 @@
                 Height = Application.GetRealHeight(50),
                 Text = room.Name,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextColor = ZigbeeColor.Current.GXCTextWhiteColor
+                TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
+                TextSize = 12
             };
             itemView.AddChidren(roomName);
         }
@@ -543,8 +546,9 @@
                 OnBtn.IsSelected = false;
                 OffBtn.IsSelected = true;
             }
+            StatuBtn.Text = statu ? $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Open)}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}";
         }
-        
+
 
         #endregion
 
diff --git a/ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs
index 0e6a0af..c05a553 100644
--- a/ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs
@@ -138,7 +138,7 @@
                                 }
                                 light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData;
                                 deviceIMG.IsSelected = switchBtn.IsSelected = light.OnOffStatus == 1;
-                                StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected);
+                                StatuBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}";
                                 light.LastDateTime = DateTime.Now;
                             }
                         }
@@ -330,7 +330,8 @@
                 Gravity = Gravity.CenterHorizontal,
                 Text = device.CommonDevice.DeviceEpointName,
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
-                TextSize = 15
+                TextSize = 15,
+                IsBold=true
             };
             itemView.AddChidren(deviceNameBtn);
 
@@ -341,7 +342,8 @@
                 Height = Application.GetRealHeight(60),
                 Gravity = Gravity.CenterHorizontal,
                 TextColor = ZigbeeColor.Current.GXCTextGrayColor,
-                Text = CommonFormResouce.GetSwitchStatu((device.CommonDevice as ToggleLight).OnOffStatus == 1)
+                Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}",
+                TextSize = 10
             };
             itemView.AddChidren(StatuBtn);
 
@@ -404,7 +406,8 @@
                 Height = Application.GetRealHeight(50),
                 Text = room.Name,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextColor = ZigbeeColor.Current.GXCTextWhiteColor
+                TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
+                TextSize=12
             };
             itemView.AddChidren(roomName);
         }
@@ -437,7 +440,7 @@
             zbGateway.ReportAction += UpdateDeviceControllStatu;
             switchBtn.IsSelected = !switchBtn.IsSelected;
             deviceIMG.IsSelected = !deviceIMG.IsSelected;
-            StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected);
+            StatuBtn.Text = deviceIMG.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Open)}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}";
             if (switchBtn.IsSelected == true)
             {
                 (device.CommonDevice as ToggleLight).SwitchControl(1);
diff --git a/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs b/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs
index 132599d..ea6ea22 100644
--- a/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs
@@ -174,7 +174,7 @@
                     itemView.AddChidren(roomView);
                     roomView.Init(this,room);
                     roomView.SetRoomName(room.Name);
-                    roomView.SetRoomIcon(room.BackgroundImage);
+                    roomView.SetRoomIcon(room.BackgroundImageType == 0 ? room.BackgroundImage : System.IO.Path.Combine(Config.Instance.FullPath, room.BackgroundImage));
                     roomView.ClickBtn.MouseUpEventHandler += (sender, e) =>
                     {
                         if (CanClick == false)
diff --git a/ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs b/ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs
index 8c0d561..cef40e7 100644
--- a/ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs
@@ -162,8 +162,6 @@
             {
                 RemoveFromParent();
             };
-
-           
         }
 
         /// <summary>
@@ -359,7 +357,6 @@
         /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
         private void ShowSameTypeFunction(object typeSender, MouseEventArgs mouseEventArgs)
         {
-            //閫夋嫨鍔熻兘--鐩存帴浠庢埧闂寸殑devicelist涓幏鍙�
             tempFunctionTypeBtn.IsSelected = false;
             tempFunctionTypeBtn = (typeSender as Button).Parent as FunctionButton;
             ((typeSender as Button).Parent as FunctionButton).IsSelected = true;
@@ -432,6 +429,7 @@
                      if ((sender as Button).IsSelected)
                      {
                          (sender as Button).TextID = R.MyInternationalizationString.Cancel;
+                         selectedList.Clear();
                          selectedList.AddRange(sameTypeList);
                      }
                      else
@@ -479,7 +477,17 @@
                         r.AddDevice(d.CommonDevice, true);
                         deviceListScrolView.RemoveViewByTag(d);
                     }
-                    RefreshData();
+                    
+                    if (sameTypeList.Count == selectedList.Count)
+                    {
+                        RefreshData();
+                        RefreshBodyView();
+                    }
+                    else
+                    {
+                        RefreshData();
+                        sameTypeList = typeDeviceDic[int.Parse((typeSender as Button).Tag.ToString())];
+                    }
                 };
             };
         }
diff --git a/ZigbeeApp/Shared/Phone/UserView/SafetyShortcutControl.cs b/ZigbeeApp/Shared/Phone/UserView/SafetyShortcutControl.cs
index 48b85d8..b34e77b 100644
--- a/ZigbeeApp/Shared/Phone/UserView/SafetyShortcutControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/SafetyShortcutControl.cs
@@ -117,13 +117,20 @@
                     dialog.Close();
                     return;
                 }
-                new System.Threading.Thread(() =>
+                CommonPage.Loading.Start();
+                new System.Threading.Thread(async () =>
                 {
-                    var result= HdlSafeguardLogic.Current.SetSafetyGarrisonByModel(GarrisonMode.AtHome);
+                    var result=await HdlSafeguardLogic.Current.SetSafetyGarrisonByModel(GarrisonMode.AtHome);
                     Application.RunOnMainThread(() =>
                     {
+                        CommonPage.Loading.Hide();
                         dialog.Close();
+                        if(result == GarrisonMode.AtHome)
+                        {
+                            
+                        }
                     });
+                    
                 })
                 { IsBackground = true }.Start();
             };
diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
index 7246ed5..0e49440 100644
--- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
@@ -482,7 +482,7 @@
             if(UserCenterResourse.Option.SafetyShortcut)
             {
                 var safetyBtn = new SafetyShortcutControl();
-                safetyBtn.X = Application.GetRealWidth(855);
+                safetyBtn.X = Application.GetRealWidth(860);
                 safetyBtn.Gravity = Gravity.CenterVertical;
                 topFrameLayout.AddChidren(safetyBtn);
             }
@@ -503,7 +503,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 Text = Config.Instance.Home.Name ?? Language.StringByID(R.MyInternationalizationString.TheResidenceNameNull),
                 TextSize = 24,
-                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
+                TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor,
                 IsBold=true
             };
             if (Config.Instance.Home.IsOthreShare)
diff --git a/ZigbeeApp/Shared/R.cs b/ZigbeeApp/Shared/R.cs
index 574b6db..bdf0ef7 100644
--- a/ZigbeeApp/Shared/R.cs
+++ b/ZigbeeApp/Shared/R.cs
@@ -632,7 +632,7 @@
 		/// </summary>
 		public const int LoginByAccountPWD = 10110;
 		/// <summary>
-		/// 鍙戦�侀獙璇佺爜
+		/// 鑾峰彇楠岃瘉鐮�
 		/// </summary>
 		public const int SendVerificationCode = 10111;
 		/// <summary>
@@ -759,6 +759,18 @@
         /// 鏂板瘑鐮佸拰鍘熷瘑鐮佷竴鑷�
         /// </summary>
         public const int NEWPASSWORDANDOLDPASSWORDEQUAL = 10142;
+        /// <summary>
+        /// 璇峰厛鑾峰彇楠岃瘉鐮�
+        /// </summary>
+        public const int NORECORD = 10143;
+        /// <summary>
+        /// 蹇樿瀵嗙爜锛�
+        /// </summary>
+        public const int ForgotPWD_1 = 10144;
+        /// <summary>
+		/// 宸叉湁璐﹀彿锛熺櫥褰�
+		/// </summary>
+		public const int LoginByAccountPWD_1 = 10145;
 
 
         /// <summary>
@@ -793,6 +805,10 @@
         /// 缃戝叧涓嶅湪绾�
         /// </summary>
 		public const int TheMainGatewayIsNotOnLine = 10157;
+        /// <summary>
+        /// 涓嬩竴姝�
+        /// </summary>
+        public const int Next = 10158;
 
 
         /// <summary>
@@ -1298,11 +1314,11 @@
         public const int NeedCleanAC = 13511;
 
         /// <summary>
-        /// 娌″姛鑳� 璇峰厛娣诲姞
+        /// 杩樻病鏈夊姛鑳藉摝
         /// </summary>
         public const int NoFunction_Tip = 13600;
         /// <summary>
-        /// 娌″満鏅� 璇峰厛娣诲姞
+        /// 杩樻病鏈夊満鏅摝
         /// </summary>
         public const int NoScene_Tip = 13601;
         /// <summary>
@@ -1313,6 +1329,10 @@
         /// 鑾峰彇涓�...
         /// </summary>
         public const int Getting = 13603;
+        /// <summary>
+        /// 褰撳墠 浜害
+        /// </summary>
+        public const int CurrentLightLevel = 13604;
 
 
 

--
Gitblit v1.8.0