From b271bcceb1c4e718377ca86b6213816abcf7482a Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期一, 11 一月 2021 13:57:18 +0800
Subject: [PATCH] 20210111-删除功能类别,统一使用spk去设备功能

---
 HDL_ON/UI/UI0-Public/PublicAssmebly.cs |  342 +++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 211 insertions(+), 131 deletions(-)

diff --git a/HDL_ON/UI/UI0-Public/PublicAssmebly.cs b/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
index 4e3c6b1..e81f6c7 100644
--- a/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
+++ b/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
@@ -569,7 +569,7 @@
         /// 鍦烘櫙寤舵椂璁剧疆寮圭獥
         /// </summary>
         /// <param name="function"></param>
-        public void SetSceneDelayDialog(Action<string> action,string changeDelay)
+        public void SetSceneDelayDialog(Dictionary<string,string>items, Action<string> action,string curItemKey)
         {
             Button lastButton = new Button();
             Dialog dialog = new Dialog();
@@ -579,14 +579,18 @@
             };
             dialog.AddChidren(pView);
 
+            var itemCount = items.Count;
+            var optionBaseViewHeight = ((itemCount > 3 ? itemCount : 3) + 1) * Application.GetRealHeight(50);
             var optionBaseView = new FrameLayout()
             {
-                Y = Application.GetRealHeight(439),
+                //Y = Application.GetRealHeight(439),
+                Y = Application.GetRealHeight(647) - optionBaseViewHeight,
                 Gravity = Gravity.CenterHorizontal,
                 Width = Application.GetRealWidth(343),
-                Height = Application.GetRealHeight(208),
-                AnimateSpeed = 0.3f,
-                Animate = Animate.DownToUp,
+                //Height = Application.GetRealHeight(208),
+                Height = optionBaseViewHeight,
+                //AnimateSpeed = 0.3f,
+                //Animate = Animate.DownToUp,
                 BackgroundColor = CSS_Color.MainBackgroundColor,
                 Radius = (uint)Application.GetRealWidth(12),
             };
@@ -636,84 +640,160 @@
             };
             topView.AddChidren(btnConfrim);
 
-            Button btn1 = new Button()
+            var itemsView = new VerticalScrolViewLayout()
             {
-                Width = Application.GetRealWidth(128),
-                Height = Application.GetRealWidth(44),
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                Text = "30s",
-                BorderColor = CSS_Color.PromptingColor1,
-                BorderWidth = 1,
-                Radius = (uint)Application.GetRealWidth(8),
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
-                X = Application.GetRealWidth(20),
-                Y = Application.GetRealHeight(80),
-                IsSelected = changeDelay == "30"
+                Y = topView.Bottom,
+                Height = optionBaseViewHeight - Application.GetRealHeight(50),
+                ScrollEnabled = itemCount > 4,
             };
-            optionBaseView.AddChidren(btn1);
+            optionBaseView.AddChidren(itemsView);
 
+            bool isFrist = true;
+            Button btnLastSelectedTip = null;
 
-            Button btn2 = new Button()
+            foreach (var item in items)
             {
-                Width = Application.GetRealWidth(128),
-                Height = Application.GetRealWidth(44),
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                Text = "1min",
-                BorderColor = CSS_Color.PromptingColor1,
-                BorderWidth = 1,
-                Radius = (uint)Application.GetRealWidth(8),
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
-                X = Application.GetRealWidth(195),
-                Y = Application.GetRealHeight(80),
-                IsSelected = changeDelay == "60"
-            };
-            optionBaseView.AddChidren(btn2);
+                if (isFrist)
+                {
+                    isFrist = false;
+                }
+                else
+                {
+                    itemsView.AddChidren(new Button() { Height = 1, BackgroundColor = CSS_Color.DividingLineColor });
+                }
+                var row = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(50),
+                };
+                itemsView.AddChidren(row);
+
+                var btnTipSelected = new Button()
+                {
+                    X = Application.GetRealWidth(303),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetRealWidth(28),
+                    Height= Application.GetRealWidth(28),
+                    UnSelectedImagePath = "Public/ChooseIcon.png",
+                    SelectedImagePath = "Public/ChooseOnIcon.png",
+                };
+                row.AddChidren(btnTipSelected);
+                if( item.Key == curItemKey)
+                {
+                    btnTipSelected.IsSelected = true;
+                    btnLastSelectedTip = btnTipSelected;
+                }
 
 
-            Button btn3 = new Button()
-            {
-                Width = Application.GetRealWidth(128),
-                Height = Application.GetRealWidth(44),
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                Text = "2min",
-                BorderColor = CSS_Color.PromptingColor1,
-                BorderWidth = 1,
-                Radius = (uint)Application.GetRealWidth(8),
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
-                X = Application.GetRealWidth(20),
-                Y = Application.GetRealHeight(140),
-                IsSelected = changeDelay == "120"
-            };
-            optionBaseView.AddChidren(btn3);
+                var btnRowTitle = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Text = item.Value,
+                    TextSize = CSS_FontSize.TextFontSize,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextAlignment = TextAlignment.CenterLeft,
+                };
+                row.AddChidren(btnRowTitle);
+
+                btnRowTitle.MouseUpEventHandler = (sender, e) =>
+                {
+                    if (btnTipSelected.IsSelected)
+                    {
+                        curItemKey = "0";
+                        btnTipSelected.IsSelected = false;
+                        btnLastSelectedTip = null;
+                    }
+                    else
+                    {
+                        curItemKey = item.Key;
+                        if (btnLastSelectedTip != null)
+                        {
+                            btnLastSelectedTip.IsSelected = false;
+                        }
+                        btnTipSelected.IsSelected = true;
+                        btnLastSelectedTip = btnTipSelected;
+                    }
+                };
+
+            }
+
+            //Button btn1 = new Button()
+            //{
+            //    Width = Application.GetRealWidth(128),
+            //    Height = Application.GetRealWidth(44),
+            //    TextAlignment = TextAlignment.Center,
+            //    TextSize = CSS_FontSize.SubheadingFontSize,
+            //    TextColor = CSS_Color.FirstLevelTitleColor,
+            //    Text = "30s",
+            //    BorderColor = CSS_Color.PromptingColor1,
+            //    BorderWidth = 1,
+            //    Radius = (uint)Application.GetRealWidth(8),
+            //    SelectedTextColor = CSS_Color.MainBackgroundColor,
+            //    SelectedBackgroundColor = CSS_Color.MainColor,
+            //    X = Application.GetRealWidth(20),
+            //    Y = Application.GetRealHeight(80),
+            //    IsSelected = curItemKey == "30"
+            //};
+            //optionBaseView.AddChidren(btn1);
 
 
-            Button btn4 = new Button()
-            {
-                Width = Application.GetRealWidth(128),
-                Height = Application.GetRealWidth(44),
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                Text = "5min",
-                BorderColor = CSS_Color.PromptingColor1,
-                BorderWidth = 1,
-                Radius = (uint)Application.GetRealWidth(8),
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
-                X = Application.GetRealWidth(195),
-                Y = Application.GetRealHeight(140),
-                IsSelected = changeDelay == "300"
-            };
-            optionBaseView.AddChidren(btn4);
+            //Button btn2 = new Button()
+            //{
+            //    Width = Application.GetRealWidth(128),
+            //    Height = Application.GetRealWidth(44),
+            //    TextAlignment = TextAlignment.Center,
+            //    TextSize = CSS_FontSize.SubheadingFontSize,
+            //    TextColor = CSS_Color.FirstLevelTitleColor,
+            //    Text = "1min",
+            //    BorderColor = CSS_Color.PromptingColor1,
+            //    BorderWidth = 1,
+            //    Radius = (uint)Application.GetRealWidth(8),
+            //    SelectedTextColor = CSS_Color.MainBackgroundColor,
+            //    SelectedBackgroundColor = CSS_Color.MainColor,
+            //    X = Application.GetRealWidth(195),
+            //    Y = Application.GetRealHeight(80),
+            //    IsSelected = curItemKey == "60"
+            //};
+            //optionBaseView.AddChidren(btn2);
+
+
+            //Button btn3 = new Button()
+            //{
+            //    Width = Application.GetRealWidth(128),
+            //    Height = Application.GetRealWidth(44),
+            //    TextAlignment = TextAlignment.Center,
+            //    TextSize = CSS_FontSize.SubheadingFontSize,
+            //    TextColor = CSS_Color.FirstLevelTitleColor,
+            //    Text = "2min",
+            //    BorderColor = CSS_Color.PromptingColor1,
+            //    BorderWidth = 1,
+            //    Radius = (uint)Application.GetRealWidth(8),
+            //    SelectedTextColor = CSS_Color.MainBackgroundColor,
+            //    SelectedBackgroundColor = CSS_Color.MainColor,
+            //    X = Application.GetRealWidth(20),
+            //    Y = Application.GetRealHeight(140),
+            //    IsSelected = curItemKey == "120"
+            //};
+            //optionBaseView.AddChidren(btn3);
+
+
+            //Button btn4 = new Button()
+            //{
+            //    Width = Application.GetRealWidth(128),
+            //    Height = Application.GetRealWidth(44),
+            //    TextAlignment = TextAlignment.Center,
+            //    TextSize = CSS_FontSize.SubheadingFontSize,
+            //    TextColor = CSS_Color.FirstLevelTitleColor,
+            //    Text = "5min",
+            //    BorderColor = CSS_Color.PromptingColor1,
+            //    BorderWidth = 1,
+            //    Radius = (uint)Application.GetRealWidth(8),
+            //    SelectedTextColor = CSS_Color.MainBackgroundColor,
+            //    SelectedBackgroundColor = CSS_Color.MainColor,
+            //    X = Application.GetRealWidth(195),
+            //    Y = Application.GetRealHeight(140),
+            //    IsSelected = curItemKey == "300"
+            //};
+            //optionBaseView.AddChidren(btn4);
 
 
 
@@ -731,65 +811,65 @@
             };
             btnConfrim.MouseUpEventHandler = (sender, e) =>
             {
-                action(changeDelay);
+                action(curItemKey);
                 dialog.Close();
             };
-            btn1.MouseUpEventHandler = (sender, e) => {
-                btn1.IsSelected = !btn1.IsSelected;
-                btn2.IsSelected = false;
-                btn3.IsSelected = false;
-                btn4.IsSelected = false;
-                if(btn1.IsSelected)
-                {
-                    changeDelay = "30";
-                }
-                else
-                {
-                    changeDelay = "0";
-                }       
-            };
-            btn2.MouseUpEventHandler = (sender, e) => {
-                btn2.IsSelected = !btn2.IsSelected;
-                btn1.IsSelected = false;
-                btn3.IsSelected = false;
-                btn4.IsSelected = false;
-                if (btn2.IsSelected)
-                {
-                    changeDelay = "60";
-                }
-                else
-                {
-                    changeDelay = "0";
-                }
-            };
-            btn3.MouseUpEventHandler = (sender, e) => {
-                btn3.IsSelected = !btn3.IsSelected;
-                btn2.IsSelected = false;
-                btn1.IsSelected = false;
-                btn4.IsSelected = false;
-                if (btn3.IsSelected)
-                {
-                    changeDelay = "120";
-                }
-                else
-                {
-                    changeDelay = "0";
-                }
-            };
-            btn4.MouseUpEventHandler = (sender, e) => {
-                btn4.IsSelected = !btn4.IsSelected;
-                btn2.IsSelected = false;
-                btn3.IsSelected = false;
-                btn1.IsSelected = false;
-                if (btn4.IsSelected)
-                {
-                    changeDelay = "300";
-                }
-                else
-                {
-                    changeDelay = "0";
-                }
-            };
+            //btn1.MouseUpEventHandler = (sender, e) => {
+            //    btn1.IsSelected = !btn1.IsSelected;
+            //    btn2.IsSelected = false;
+            //    btn3.IsSelected = false;
+            //    btn4.IsSelected = false;
+            //    if(btn1.IsSelected)
+            //    {
+            //        curItemKey = "30";
+            //    }
+            //    else
+            //    {
+            //        curItemKey = "0";
+            //    }       
+            //};
+            //btn2.MouseUpEventHandler = (sender, e) => {
+            //    btn2.IsSelected = !btn2.IsSelected;
+            //    btn1.IsSelected = false;
+            //    btn3.IsSelected = false;
+            //    btn4.IsSelected = false;
+            //    if (btn2.IsSelected)
+            //    {
+            //        curItemKey = "60";
+            //    }
+            //    else
+            //    {
+            //        curItemKey = "0";
+            //    }
+            //};
+            //btn3.MouseUpEventHandler = (sender, e) => {
+            //    btn3.IsSelected = !btn3.IsSelected;
+            //    btn2.IsSelected = false;
+            //    btn1.IsSelected = false;
+            //    btn4.IsSelected = false;
+            //    if (btn3.IsSelected)
+            //    {
+            //        curItemKey = "120";
+            //    }
+            //    else
+            //    {
+            //        curItemKey = "0";
+            //    }
+            //};
+            //btn4.MouseUpEventHandler = (sender, e) => {
+            //    btn4.IsSelected = !btn4.IsSelected;
+            //    btn2.IsSelected = false;
+            //    btn3.IsSelected = false;
+            //    btn1.IsSelected = false;
+            //    if (btn4.IsSelected)
+            //    {
+            //        curItemKey = "300";
+            //    }
+            //    else
+            //    {
+            //        curItemKey = "0";
+            //    }
+            //};
 
         }
 

--
Gitblit v1.8.0