From d6fb0646531172f23648441c224cdcccd721b894 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期一, 14 十二月 2020 09:59:01 +0800
Subject: [PATCH] 请合并代码,完成晾衣架最终功能。

---
 ZigbeeApp/Shared/Phone/Category/AdjustTargetAddDelayTimeForm.cs |  162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 162 insertions(+), 0 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Category/AdjustTargetAddDelayTimeForm.cs b/ZigbeeApp/Shared/Phone/Category/AdjustTargetAddDelayTimeForm.cs
new file mode 100755
index 0000000..2173df9
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/Category/AdjustTargetAddDelayTimeForm.cs
@@ -0,0 +1,162 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Shared.Phone.UserCenter;
+
+namespace Shared.Phone.Category
+{
+    /// <summary>
+    /// 鍦烘櫙鎵ц鐩爣娣诲姞寤舵椂鐨勭晫闈�
+    /// </summary>
+    public class AdjustTargetAddDelayTimeForm : EditorCommonForm
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// 纭畾閫夋嫨鐨勪簨浠�
+        /// </summary>
+        public Action<int> FinishSelectEvent = null;
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        /// <param name="i_delayTime">寤舵椂鏃堕棿</param>
+        public void ShowForm(int i_delayTime)
+        {
+            //璁剧疆澶撮儴淇℃伅
+            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.AddDelayTime));
+
+            //鍒濆鍖栦腑閮ㄤ俊鎭�
+            this.InitMiddleFrame(i_delayTime);
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+        /// </summary>
+        private void InitMiddleFrame(int i_delayTime)
+        {
+            int selectTime = i_delayTime;
+            if (selectTime == 0)
+            {
+                //榛樿1绉�
+                selectTime = 1;
+            }
+
+            //鍥炬爣绗竴灞傚簳鑹�
+            var frameFirstBack = new FrameLayout();
+            frameFirstBack.Y = Application.GetRealHeight(118);
+            frameFirstBack.Height = this.GetPictrueRealSize(207);
+            frameFirstBack.Width = this.GetPictrueRealSize(207);
+            frameFirstBack.BackgroundColor = UserCenterColor.Current.White;
+            frameFirstBack.Radius = (uint)this.GetPictrueRealSize(207) / 2;
+            frameFirstBack.Gravity = Gravity.CenterHorizontal;
+            bodyFrameLayout.AddChidren(frameFirstBack);
+            //闃叉鍑虹幇璇樊
+            int iconWidth = this.GetPictrueRealSize(207) - this.GetPictrueRealSize(12) - this.GetPictrueRealSize(12);
+            //鍥炬爣绗簩灞傚簳鑹�
+            var btnSecondBack = new NormalViewControl(iconWidth, iconWidth, false);
+            btnSecondBack.BackgroundColor = 0xfffef1ed;
+            btnSecondBack.Radius = (uint)iconWidth / 2;
+            btnSecondBack.Gravity = Gravity.Center;
+            frameFirstBack.AddChidren(btnSecondBack);
+            //鍥炬爣
+            var btnIcon = new IconViewControl(124);
+            btnIcon.UnSelectedImagePath = "Item/Timer.png";
+            btnIcon.Gravity = Gravity.Center;
+            frameFirstBack.AddChidren(btnIcon);
+
+            //涓轰綘鐨勫姩浣滃垱寤烘椂闂撮棿闅�
+            var btnMsg = new NormalViewControl(700, 62, true);
+            btnMsg.Y = frameFirstBack.Bottom + Application.GetRealHeight(34);
+            btnMsg.TextSize = 15;
+            btnMsg.TextID = R.MyInternationalizationString.SelectTimeForAction;
+            btnMsg.TextAlignment = TextAlignment.Center;
+            btnMsg.Gravity = Gravity.CenterHorizontal;
+            bodyFrameLayout.AddChidren(btnMsg);
+
+            //鐧借壊鑳屾櫙鎺т欢
+            var frameWhiteBack = new FrameLayout();
+            frameWhiteBack.BackgroundColor = UserCenterColor.Current.White;
+            frameWhiteBack.Y = Application.GetRealHeight(611);
+            frameWhiteBack.Height = Application.GetRealHeight(1500);//瓒呰繃搴曢儴鍗冲彲
+            frameWhiteBack.Radius = (uint)Application.GetRealHeight(58);
+            bodyFrameLayout.AddChidren(frameWhiteBack);
+            //婊戝姩鎺т欢
+            var pickView = new UIPickerView();
+            pickView.Y = Application.GetRealHeight(127);
+            pickView.Height = Application.GetRealHeight(153 * 3);
+            frameWhiteBack.AddChidren(pickView);
+
+            //鍒�
+            string strMinute = Language.StringByID(R.MyInternationalizationString.uMinute);
+            //绉�
+            string strSecond = Language.StringByID(R.MyInternationalizationString.uSecond);
+            var listfirst = new List<string>();
+            var listSecond = new List<List<string>>();
+            for (int i = 0; i <= 59; i++)
+            {
+                listfirst.Add(i.ToString().PadLeft(2, '0') + strMinute);
+                var listTemp = new List<string>();
+                for (int j = 0; j <= 59; j++)
+                {
+                    if (i == 0 && j == 0)
+                    {
+                        continue;
+                    }
+                    listTemp.Add(j.ToString().PadLeft(2, '0') + strSecond);
+                }
+                listSecond.Add(listTemp);
+            }
+            //鍔犱竴涓�60鍒嗛挓鍚�
+            listfirst.Add("60" + strMinute);
+            var listTemp2 = new List<string>() { "00" + strSecond };
+            listSecond.Add(listTemp2);
+
+            int firstIndex = selectTime / 60;
+            int secondIndex = selectTime % 60;
+            //鍥犱负0鍒嗙殑鏃跺�欙紝瀹冩槸浠�1绉掑紑濮嬬殑锛屾墍浠ュ畠鐨勭储寮曢渶瑕�-1
+            if (firstIndex == 0) { secondIndex--; }
+
+            pickView.setPicker(listfirst, listSecond);
+            pickView.setCurrentItems(firstIndex, secondIndex, 0);
+            pickView.OnSelectChangeEvent += (value1, value2, value3) =>
+            {
+                int minute = Convert.ToInt32(listfirst[value1].Substring(0, 2));
+                int second = Convert.ToInt32(listSecond[value1][value2].Substring(0, 2));
+                selectTime = minute * 60 + second;
+            };
+
+            //瀹屾垚鎸夐挳
+            var btnSave = new BottomClickButton();
+            btnSave.TextID = R.MyInternationalizationString.uSave;
+            bodyFrameLayout.AddChidren(btnSave);
+            btnSave.ButtonClickEvent += (sender, e) =>
+            {
+                //閫夋嫨鐨勬槸鍚屼竴涓椂闂�,鍒欎笉瑙﹀彂鍥炶皟鍑芥暟
+                if (i_delayTime == selectTime) { this.CloseForm(); }
+                //璋冪敤鍥炶皟鍑芥暟
+                this.FinishSelectEvent?.Invoke(selectTime);
+                this.CloseForm();
+            };
+        }
+
+        #endregion
+
+        #region 鈻� 鐣岄潰鍏抽棴___________________________
+
+        /// <summary>
+        /// 鐣岄潰鍏抽棴
+        /// </summary>
+        public override void CloseFormBefore()
+        {
+            this.FinishSelectEvent = null;
+
+            base.CloseFormBefore();
+        }
+
+        #endregion
+    }
+}

--
Gitblit v1.8.0