From 1c4904d77f484c075080942d87785481b52b6fb2 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期一, 28 十月 2019 14:58:46 +0800
Subject: [PATCH] Revert "Merge branch 'dev-tzy' into DEV_GXC"

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs |  186 +++++++++++++++++++++++++++++++++------------
 1 files changed, 135 insertions(+), 51 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs
index 0a8b19e..fe4e545 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/TopRightMenuControl.cs
@@ -12,13 +12,25 @@
         #region 鈻� 鍙橀噺澹版槑___________________________
 
         /// <summary>
-        /// 鍒楄〃鎺т欢
+        /// 妗屽竷鎺т欢
         /// </summary>
-        private VerticalListControl listView = null;
+        private FrameLayout frameTable = null;
+        /// <summary>
+        /// 涓夎褰㈠浘鏍�
+        /// </summary>
+        private PicViewControl btnTriangle = null;
+        /// <summary>
+        /// 澶撮儴鍦嗚鎺т欢
+        /// </summary>
+        private NormalViewControl btnTopRadius = null;
+        /// <summary>
+        /// 搴曢儴鍦嗚鎺т欢
+        /// </summary>
+        private NormalViewControl btnBottomRadius = null;
         /// <summary>
         /// 鍓嶅洖閫夋嫨鐨勮
         /// </summary>
-        private FrameRowControl oldRowFrame = null;
+        private FrameLayoutControl oldRowFrame = null;
         /// <summary>
         /// 琛岄珮搴�
         /// </summary>
@@ -26,11 +38,20 @@
         /// <summary>
         /// 琛屽搴�
         /// </summary>
+        //private int RowWidth = 449;
         private int RowWidth = 395;
         /// <summary>
         /// 琛屾暟
         /// </summary>
         private int RowCount = 0;
+        /// <summary>
+        /// 鑿滃崟璁℃暟
+        /// </summary>
+        private int menuCount = 0;
+        /// <summary>
+        /// 鍦嗚搴�
+        /// </summary>
+        private int tableRadius = Application.GetMinRealAverage(12);
 
         #endregion
 
@@ -39,21 +60,22 @@
         /// <summary>
         /// 鍋氭垚涓�涓瓨鍦ㄤ簬鍙充笂瑙掔殑鑿滃崟鎺т欢
         /// </summary>
+        /// <param name="frame">鐖跺鍣ㄦ帶浠�</param>
         /// <param name="i_RowCount">涓�鍏辨湁鍑犺</param>
         /// <param name="i_width">杩欎釜鑿滃崟鏈夊瀹�</param>
-        /// <param name="titleText">鏍囬鏂囨湰(濡傛灉涓嶄负绌�,鑿滃崟妯″紡鍙樻洿涓烘嫢鏈夋爣棰樼殑妯″紡)</param>
-        public TopRightMenuControl(int i_RowCount, int i_width = 395, string titleText = null)
+        public TopRightMenuControl(FrameLayout frame, int i_RowCount, int i_width = 395)
         {
             this.RowCount = i_RowCount;
             this.RowWidth = i_width;
             //鍒濆鍖栫敾闈㈢殑鎺т欢
-            this.InitFormControl(titleText);
+            this.InitFormControl(frame);
         }
 
         /// <summary>
         /// 鍒濆鍖栫敾闈㈢殑鎺т欢
         /// </summary>
-        private void InitFormControl(string titleText)
+        /// <param name="frame">鐖跺鍣ㄦ帶浠�</param>
+        private void InitFormControl(FrameLayout frame)
         {
             this.BackgroundColor = UserCenterColor.Current.DialogBackColor;
             this.MouseUpEventHandler += (sender2, e2) =>
@@ -61,47 +83,41 @@
                 //鍏抽棴鑷韩
                 this.RemoveFromParent();
             };
-            var frame = (FrameLayout)UserView.HomePage.Instance.GetChildren(UserView.HomePage.Instance.ChildrenCount - 1);
             frame.AddChidren(this);
 
-            //鏈�澶ф樉绀�5涓�
-            int rowCount = this.RowCount > 5 ? 5 : this.RowCount;
             //妗屽竷
-            var frameTable = new FrameLayoutControl(false);
+            this.frameTable = new FrameLayout();
+            //frameTable.X = Application.GetRealWidth(596);
+            //frameTable.Y = Application.GetRealHeight(184);
             frameTable.X = Application.GetRealWidth(662 - (RowWidth - 395));
             frameTable.Y = Application.GetRealHeight(158 + 15 + 1);
             frameTable.Width = Application.GetRealWidth(RowWidth);
-            frameTable.Height = Application.GetRealHeight(RowHeight * rowCount);
+            frameTable.Height = Application.GetRealHeight(RowHeight * this.RowCount) + (this.RowCount - 1) * ControlCommonResourse.BottomLineHeight;
             frameTable.BackgroundColor = UserCenterColor.Current.White;
-            frameTable.BorderColor = UserCenterColor.Current.Transparent;
-            frameTable.RadiusEx = 6;
+            frameTable.Radius = (uint)tableRadius / 2;
             this.AddChidren(frameTable);
 
-            if (titleText != null)
+            //澶撮儴鍦嗚鎺т欢
+            btnTopRadius = new NormalViewControl(frameTable.Width, tableRadius * 2, false);
+            btnTopRadius.Radius = (uint)tableRadius;
+            //btnTopRadius.BackgroundColor = UserCenterColor.Current.BlackBackGround;
+            frameTable.AddChidren(btnTopRadius);
+            if (RowCount == 1)
             {
-                var btnTitle = new NormalViewControl(frameTable.Width - Application.GetRealWidth(81), Application.GetRealHeight(58), false);
-                btnTitle.X = Application.GetRealWidth(81);
-                btnTitle.Y = Application.GetRealHeight(58);
-                btnTitle.Text = titleText;
-                frameTable.AddChidren(btnTitle);
+                btnTopRadius.BackgroundColor = UserCenterColor.Current.White;
             }
-
-            //鍒楄〃鎺т欢
-            this.listView = new VerticalListControl();
-            listView.Height = frameTable.Height;
-            if (rowCount == 5 && titleText != null)
-            {
-                //杩炲甫鏍囬,鍙兘鏄剧ず5琛�
-                listView.Height = frameTable.Height - Application.GetRealHeight(RowHeight);
-                listView.Y = Application.GetRealHeight(RowHeight);
-            }
-            listView.Radius = frameTable.Radius;
-            frameTable.AddChidren(listView);
+            //搴曢儴鍦嗚鎺т欢
+            btnBottomRadius = new NormalViewControl(frameTable.Width, tableRadius * 2, false);
+            btnBottomRadius.Y = frameTable.Height - tableRadius * 2;
+            btnBottomRadius.Radius = (uint)tableRadius;
+            btnBottomRadius.BackgroundColor = UserCenterColor.Current.White;
+            frameTable.AddChidren(btnBottomRadius);
 
             //涓夎褰㈠浘鏍�
-            var btnTriangle = new PicViewControl(31, 15);
+            btnTriangle = new PicViewControl(31, 15);
             btnTriangle.X = Application.GetRealWidth(980);
-            btnTriangle.Y = Application.GetRealHeight(159);
+            //btnTriangle.Y = Application.GetRealHeight(169);
+            btnTriangle.Y = Application.GetRealHeight(158);
             btnTriangle.UnSelectedImagePath = "Item/UpperTriangle.png";
             this.AddChidren(btnTriangle);
         }
@@ -120,36 +136,72 @@
         /// <param name="closeOnClick">鍗曞嚮鐨勬椂鍊欙紝鍏抽棴鑿滃崟</param>
         public void AddRowMenu(string TextValue, string unSelectPic, string selectPic, Action action, bool closeOnClick = true)
         {
-            var rowFrame = new FrameRowControl();
-            rowFrame.LeftOffset = Application.GetRealWidth(81) - ControlCommonResourse.XXLeft;
+            NormalViewControl btnLine = null;
+            if (menuCount > 0)
+            {
+                //鐢荤嚎
+                btnLine = new NormalViewControl(Application.GetRealWidth(RowWidth - 81), ControlCommonResourse.BottomLineHeight, false);
+                btnLine.X = Application.GetRealWidth(81);
+                btnLine.Y = Application.GetRealHeight(RowHeight * menuCount) + menuCount * ControlCommonResourse.BottomLineHeight;
+                btnLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
+                frameTable.AddChidren(btnLine);
+            }
+            menuCount++;
+
+            var rowFrame = new FrameLayoutControl();
             rowFrame.Height = Application.GetRealHeight(RowHeight);
-            listView.AddChidren(rowFrame);
-            rowFrame.MainKeys = listView.ChildrenCount.ToString();
+            rowFrame.Name = "Menu" + menuCount;
+            if (btnLine != null)
+            {
+                rowFrame.Y = btnLine.Bottom;
+            }
+            if (this.RowCount == 1)
+            {
+                //鍙湁涓�涓彍鍗�
+                rowFrame.Y = tableRadius;
+                rowFrame.Height = Application.GetRealHeight(RowHeight) - tableRadius * 2;
+            }
+            frameTable.AddChidren(rowFrame);
             //鍥炬爣
-            var btnIcon = rowFrame.AddLeftIcon(81);
+            var btnIcon = new IconViewControl(81);
+            btnIcon.X = Application.GetRealWidth(81);
+            btnIcon.Gravity = Gravity.CenterVertical;
             btnIcon.UnSelectedImagePath = unSelectPic;
             btnIcon.SelectedImagePath = selectPic;
+            rowFrame.AddChidren(btnIcon, ChidrenBindMode.BindEventOnly);
             //鏄剧ず鏂囧瓧
-            var btnText = rowFrame.AddLeftCaption(TextValue, RowWidth - 173);
+            var btnText = new NormalViewControl(RowWidth - 173, 58, true);
             btnText.X = Application.GetRealWidth(173);
-            //搴曠嚎
-            if (listView.ChildrenCount != this.RowCount)
+            btnText.Text = TextValue;
+            btnText.Gravity = Gravity.CenterVertical;
+            rowFrame.AddChidren(btnText, ChidrenBindMode.BindEventOnly);
+            if (menuCount > 1)
             {
-                var btnLine = rowFrame.AddBottomLine();
-                btnLine.X = Application.GetRealWidth(81);
+                btnIcon.IsSelected = false;
+                btnText.TextColor = UserCenterColor.Current.TextGrayColor1;
             }
 
-            if (listView.ChildrenCount == 1)
+            if (this.RowCount == 1)
             {
+                //濡傛灉鍙湁涓�涓彍鍗�
+            }
+            else if (menuCount == 1)
+            {
+                //澶氫釜鑿滃崟妯″紡鐨勭涓�涓彍鍗�
+                rowFrame.Y = tableRadius;
+                rowFrame.Height -= tableRadius;
+                btnIcon.Y -= tableRadius / 2;
+                btnText.Y -= tableRadius / 2;
                 //绗竴涓彍鍗曢粯璁よ缃负閫夋嫨鐘舵��
                 this.SetRowSelectStatu(rowFrame, true);
                 this.oldRowFrame = rowFrame;
             }
-            else
+            else if (menuCount == this.RowCount)
             {
-                //鍏朵粬鑿滃崟涓虹伆鑹�
-                btnIcon.IsSelected = false;
-                btnText.TextColor = UserCenterColor.Current.TextGrayColor1;
+                //澶氫釜鑿滃崟妯″紡鐨勬渶鍚庝竴涓彍鍗�
+                rowFrame.Height -= tableRadius;
+                btnIcon.Y += tableRadius / 2;
+                btnText.Y += tableRadius / 2;
             }
 
             //閫夋嫨鐘舵��
@@ -183,7 +235,7 @@
         /// </summary>
         /// <param name="frame">琛屾帶浠�</param>
         /// <param name="select">閫夋嫨鐨勭姸鎬�</param>
-        private void SetRowSelectStatu(FrameRowControl frame, bool select)
+        private void SetRowSelectStatu(FrameLayoutControl frame, bool select)
         {
             //鍥炬爣
             var btnIcon = (IconViewControl)frame.GetChildren(0);
@@ -195,14 +247,46 @@
             var btnText = (NormalViewControl)frame.GetChildren(1);
             if (btnText != null)
             {
+                //btnText.TextColor = select == true ? UserCenterColor.Current.TextColor3 : UserCenterColor.Current.TextColor1;
                 btnText.TextColor = select == true ? UserCenterColor.Current.TextColor1 : UserCenterColor.Current.TextGrayColor1;
             }
+            //鑳屾櫙鑹�
+            //frame.BackgroundColor = select == true ? UserCenterColor.Current.BlackBackGround : UserCenterColor.Current.White;
+
+            if (this.RowCount == 1)
+            {
+                //濡傛灉鍙湁涓�涓彍鍗曠殑璇�
+                //this.btnTopRadius.BackgroundColor = UserCenterColor.Current.BlackBackGround;
+                //this.btnBottomRadius.BackgroundColor = UserCenterColor.Current.BlackBackGround;
+                return;
+            }
             //鍓嶅洖閫夋嫨鐨勮彍鍗曚负null,鎴栬�呮槸鐩稿悓鐨勪笢瑗�,鍒欎笉澶勭悊
-            if (this.oldRowFrame == null || this.oldRowFrame.MainKeys == frame.MainKeys)
+            if (this.oldRowFrame == null || this.oldRowFrame.Name == frame.Name)
             {
                 return;
             }
 
+            if (frame.Name == "Menu1")
+            {
+                //濡傛灉鐐瑰嚮鐨勬槸绗竴涓彍鍗曠殑璇�,鍙橀粦鑹�
+                //this.btnTopRadius.BackgroundColor = UserCenterColor.Current.BlackBackGround;
+            }
+            else
+            {
+                //鍙樺洖鐧借壊
+                //this.btnTopRadius.BackgroundColor = UserCenterColor.Current.White;
+            }
+
+            if (frame.Name == "Menu" + this.RowCount)
+            {
+                //濡傛灉鐐瑰嚮鐨勬槸鏈�鍚庝竴涓彍鍗曠殑璇�,鍙橀粦鑹�
+                //this.btnBottomRadius.BackgroundColor = UserCenterColor.Current.BlackBackGround;
+            }
+            else
+            {
+                //鍙樺洖鐧借壊
+                //this.btnBottomRadius.BackgroundColor = UserCenterColor.Current.White;
+            }
             //鍓嶅洖閫夋嫨鐨勮杩樺師
             this.SetRowSelectStatu(this.oldRowFrame, false);
         }

--
Gitblit v1.8.0