From 9a4b76398009cf76c508d61f7e48fb6f5cb7ac2d Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期二, 21 七月 2020 09:46:53 +0800
Subject: [PATCH] 请合并最新多功能面板代码

---
 ZigbeeApp/Shared/Phone/MainPage/SelectLocalDeviceImageForm.cs |  133 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 133 insertions(+), 0 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/MainPage/SelectLocalDeviceImageForm.cs b/ZigbeeApp/Shared/Phone/MainPage/SelectLocalDeviceImageForm.cs
new file mode 100755
index 0000000..04156b3
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/MainPage/SelectLocalDeviceImageForm.cs
@@ -0,0 +1,133 @@
+锘縰sing Shared.Phone.UserCenter;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.MainPage
+{
+    /// <summary>
+    /// 閫夋嫨鏈湴璁惧鍥剧墖鐨勭晫闈�
+    /// </summary>
+    public class SelectLocalDeviceImageForm : EditorCommonForm
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// 缁撴潫閫夋嫨鐨勪簨浠�(鍥剧墖鍚嶅瓧)
+        /// </summary>
+        public Action<string> FinishSelectEvent = null;
+        /// <summary>
+        /// 褰撳墠閫夋嫨鐨勫浘鏍囨帶浠�
+        /// </summary>
+        private PicViewControl selectContr = null;
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        public void ShowForm()
+        {
+            //鍒濆鍖栦腑閮ㄤ俊鎭�
+            this.InitMiddleFrame();
+            //璁剧疆澶撮儴淇℃伅
+            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.SelectIcon));
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+        /// </summary>
+        private void InitMiddleFrame()
+        {
+            //娓呯┖bodyFrame
+            this.ClearBodyFrame();
+
+            //鍒楄〃鎺т欢
+            var listView = new VerticalListControl();
+            listView.Height = bodyFrameLayout.Height;
+            bodyFrameLayout.AddChidren(listView);
+
+            int space = this.GetPictrueRealSize(46);
+            int backWidth = (listView.Width - ControlCommonResourse.XXLeft * 2 - space * 3) / 4;
+            //闃叉璇樊锛屽垎涓ゆ璁$畻
+            int iconWidth = backWidth - this.GetPictrueRealSize(43) - this.GetPictrueRealSize(43);
+
+            //涓�鍏�28寮犲浘鐗�
+            FrameLayout frameRow = null;
+            for (int i = 0; i < 28; i++)
+            {
+                //4涓竴缁�
+                if (i % 4 == 0)
+                {
+                    //琛屾帶浠�
+                    frameRow = new FrameLayout();
+                    frameRow.Height = backWidth + Application.GetRealHeight(58);
+                    listView.AddChidren(frameRow);
+                }
+                //鑳屾櫙
+                var frameBack = new FrameLayoutStatuControl();
+                frameBack.UseClickStatu = false;
+                frameBack.Height = backWidth;
+                frameBack.Width = backWidth;
+                frameBack.Radius = (uint)backWidth / 2;
+                frameBack.BackgroundColor = UserCenterColor.Current.White;
+                frameBack.X = ControlCommonResourse.XXLeft + (i % 4) * (backWidth + space);
+                frameBack.Y = Application.GetRealHeight(58);
+                frameRow.AddChidren(frameBack);
+
+                //鍥剧墖
+                var btnIcon = new PicViewControl(iconWidth, iconWidth, false);
+                btnIcon.UnSelectedImagePath = $"FunctionIcon/{i + 1}Icon.png";
+                btnIcon.SelectedImagePath = $"FunctionIcon/{i + 1}IconSelected.png";
+                btnIcon.Gravity = Gravity.Center;
+                frameBack.AddChidren(btnIcon, ChidrenBindMode.BindEvent);
+
+                frameBack.ButtonClickEvent += (sender, e) =>
+                {
+                    btnIcon.IsSelected = !btnIcon.IsSelected;
+                    if (this.selectContr != null && this.selectContr.UnSelectedImagePath != btnIcon.UnSelectedImagePath)
+                    {
+                        //鍙栨秷鎺夊墠涓�涓�
+                        this.selectContr.IsSelected = false;
+                    }
+                    this.selectContr = btnIcon;
+                };
+            }
+
+            //纭畾
+            var btnSave = new BottomClickButton();
+            btnSave.TextID = R.MyInternationalizationString.uConfirm1;
+            bodyFrameLayout.AddChidren(btnSave);
+            btnSave.ButtonClickEvent += (sender, e) =>
+            {
+                if (this.selectContr != null && this.selectContr.IsSelected == true)
+                {
+                    //璋冪敤鍥炶皟鍑芥暟
+                    this.FinishSelectEvent?.Invoke(this.selectContr.UnSelectedImagePath);
+                }
+                this.CloseForm();
+            };
+
+            //璋冩暣妗屽竷楂樺害
+            listView.AdjustRealHeightByBottomButton(Application.GetRealHeight(23));
+        }
+
+        #endregion
+
+        #region 鈻� 鐣岄潰鍏抽棴___________________________
+
+        /// <summary>
+        /// 鐣岄潰鍏抽棴
+        /// </summary>
+        public override void CloseFormBefore()
+        {
+            this.FinishSelectEvent = null;
+
+            base.CloseFormBefore();
+        }
+
+        #endregion
+    }
+}

--
Gitblit v1.8.0