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