From dc0309e64f02227d8e1468b7326c07955f804612 Mon Sep 17 00:00:00 2001 From: chenqiyang <1406175257@qq.com> Date: 星期三, 22 六月 2022 11:22:18 +0800 Subject: [PATCH] 修改引用路径 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/RoomDeviceGroupMenuControl.cs | 685 ++++++++++++++++++++++++-------------------------------- 1 files changed, 294 insertions(+), 391 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/RoomDeviceGroupMenuControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/RoomDeviceGroupMenuControl.cs old mode 100755 new mode 100644 index 2b18246..96c7015 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/RoomDeviceGroupMenuControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/RoomDeviceGroupMenuControl.cs @@ -1,391 +1,294 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Text; -using ZigBee.Device; - -namespace Shared.Phone.UserCenter -{ - /// <summary> - /// 鎴块棿缁勫悎鎴栬�呰澶囩粍鍚堢殑鑿滃崟鎺т欢(瀹屾垚鍒濆鍖栧悗,浼氭牴鎹粯璁ら�夋嫨璋冪敤鍥炶皟鍑芥暟) - /// </summary> - public class RoomDeviceGroupMenuControl : FrameLayout - { - #region 鈻� 鍙橀噺澹版槑___________________________ - - /// <summary> - /// 鎴块棿閫夋嫨浜嬩欢 - /// </summary> - public Action<Common.Room> SelectRoomEvent = null; - /// <summary> - /// 璁惧閫夋嫨浜嬩欢 - /// </summary> - public Action<List<CommonDevice>> SelectDeviceEvent = null; - /// <summary> - /// 褰撳墠閫夋嫨鐨勪富閿�(鎴块棿绫诲瀷鏃讹細鎴块棿ID 璁惧绫诲瀷鏃讹細R鏂囦欢閲岄潰鐨処D) - /// </summary> - public string nowSelectKeys - { - get - { - if (dicDevice != null) - { - int index = 0; - foreach (var rId in dicDevice.Keys) - { - if (index == oldSelectIndex) - { - return rId.ToString(); - } - } - return string.Empty; - } - return listRoom[oldSelectIndex].Id; - } - } - - /// <summary> - /// 褰撳墠閫夋嫨鐨勭储寮�(鍐呴儴浣跨敤) - /// </summary> - private int oldSelectIndex = -1; - /// <summary> - /// 鎴块棿瀵硅薄 - /// </summary> - private List<Common.Room> listRoom = null; - /// <summary> - /// 璁惧瀵硅薄 - /// </summary> - private Dictionary<int, List<CommonDevice>> dicDevice = null; - /// <summary> - /// 鍓嶅洖閫夋嫨鐨勬帶浠� - /// </summary> - private FrameLayoutStatuControl oldFrameBack = null; - /// <summary> - /// 鍓嶅洖閫夋嫨鐨勬帶浠� - /// </summary> - private NormalViewControl oldBtnText = null; - - #endregion - - #region 鈻� 鍒濆鍖朹____________________________ - - /// <summary> - /// 鎴块棿缁勫悎鐨勮彍鍗曟帶浠�(瀹屾垚鍒濆鍖栧悗,浼氭牴鎹粯璁ら�夋嫨璋冪敤鍥炶皟鍑芥暟) - /// </summary> - /// <param name="i_listRoom">鎴块棿鍒楄〃</param> - public RoomDeviceGroupMenuControl(List<Common.Room> i_listRoom) - { - this.listRoom = i_listRoom; - this.Height = Application.GetRealHeight(204); - } - - /// <summary> - /// 璁惧缁勫悎鐨勮彍鍗曟帶浠� - /// </summary> - /// <param name="i_dicDevice">璁惧鍒楄〃,keys:R鏂囦欢閲岄潰鐨勬暟瀛楃紪鍙�</param> - public RoomDeviceGroupMenuControl(Dictionary<int, List<CommonDevice>> i_dicDevice) - { - this.dicDevice = i_dicDevice; - this.Height = Application.GetRealHeight(204); - } - - /// <summary> - /// 鍒濆鍖栨帶浠�(浜嬩欢瑕佽嚦浜庡畠涔嬪墠) - /// </summary> - public void InitControl() - { - var scrolContr = new HorizontalScrolViewLayout(); - scrolContr.Gravity = Gravity.CenterVertical; - scrolContr.Height = this.Height; - this.AddChidren(scrolContr); - - //寮勪釜绌虹殑杩涘幓鍗犱綅缃� - var frameTemp = new FrameLayout(); - frameTemp.Height = this.Height; - frameTemp.Width = ControlCommonResourse.XXLeft / 2; - scrolContr.AddChidren(frameTemp); - - var btnTempWidth = new ButtonBase(); - btnTempWidth.TextSize = 12; - if (this.listRoom != null) - { - //鍒濆鍖栨埧闂存ā寮忕殑鎺т欢 - for (int i = 0; i < listRoom.Count; i++) - { - if (oldSelectIndex == -1) - { - //鍒濆鍊� - oldSelectIndex = i; - } - - //璁$畻瀛楃鐨勭湡瀹炲搴� - btnTempWidth.Text = listRoom[i].Name; - this.DoInitControl(scrolContr, i, i, listRoom[i].Name, btnTempWidth.GetRealWidthByText()); - } - } - else - { - //鍒濆鍖栬澶囨ā寮忕殑鎺т欢 - int index = 0; - foreach (int keys in dicDevice.Keys) - { - if (oldSelectIndex == -1) - { - //鍒濆鍊� - oldSelectIndex = index; - } - //璁$畻瀛楃鐨勭湡瀹炲搴� - btnTempWidth.Text = Language.StringByID(keys); - this.DoInitControl(scrolContr, keys, index, btnTempWidth.Text, btnTempWidth.GetRealWidthByText()); - index++; - } - } - //璁╂帶浠舵粦鍔ㄥ埌鎸囧畾鐨勭储寮曚綅缃� - scrolContr.ScrollToViewIndex(oldSelectIndex + 1); - } - - /// <summary> - /// 鍒濆鍖栨帶浠� - /// </summary> - /// <param name="scrolContr">鍒楄〃鎺т欢</param> - /// <param name="keys">瀛楀吀鐨勪富閿�</param> - /// <param name="index">绱㈠紩</param> - /// <param name="text">鏄剧ず鏂囨湰</param> - /// <param name="textWidth">鏂囨湰鐪熷疄瀹藉害</param> - private void DoInitControl(HorizontalScrolViewLayout scrolContr, int keys, int index, string text, int textWidth) - { - //甯﹀簳鍥炬帶浠剁殑鏈�灏忓搴� - int minWidth = Application.GetRealWidth(255); - //甯﹀簳鍥炬帶浠剁殑鐪熷疄瀹藉害 <鏂囧瓧鐨勫搴︾殑璁$畻 frameBack.Width - (int)(frameBack.Height * 0.47)> - int realWidth = textWidth + (int)(Application.GetRealHeight(159) * 0.47); - if (realWidth < minWidth) - { - realWidth = minWidth; - } - - //甯﹀浘鐗囩殑 - var frameBack = new FrameLayoutStatuControl(); - frameBack.UseClickStatu = false; - frameBack.Gravity = Gravity.Center; - frameBack.Height = Application.GetRealHeight(159); - frameBack.Width = realWidth; - if (oldSelectIndex == index) - { - frameBack.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png"; - oldFrameBack = frameBack; - } - else - { - frameBack.BackgroundImagePath = "Item/RoomIconBackground.png"; - } - scrolContr.AddChidren(frameBack); - //鏂囧瓧 - var btnText = new NormalViewControl(textWidth, frameBack.Height, false); - btnText.Gravity = Gravity.CenterHorizontal; - btnText.Text = text; - btnText.TextSize = 12; - btnText.TextAlignment = TextAlignment.Center; - if (oldSelectIndex == index) - { - btnText.TextColor = UserCenterColor.Current.White; - oldBtnText = btnText; - } - else - { - btnText.TextColor = UserCenterColor.Current.TextGrayColor1; - } - frameBack.AddChidren(btnText, ChidrenBindMode.BindEventOnly); - - frameBack.ButtonClickEvent += (sender, e) => - { - if (oldSelectIndex == index) - { - //鍚屼竴涓笢瑗� - return; - } - oldSelectIndex = index; - - //鐘舵�佸彉鏇� - frameBack.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png"; - btnText.TextColor = UserCenterColor.Current.White; - - oldFrameBack.BackgroundImagePath = "Item/RoomIconBackground.png"; - oldBtnText.TextColor = UserCenterColor.Current.TextGrayColor1; - oldFrameBack = frameBack; - oldBtnText = btnText; - //璋冪敤鍥炶皟鍑芥暟 - if (this.dicDevice != null) - { - this.SelectDeviceEvent?.Invoke(this.dicDevice[keys]); - } - else if (this.listRoom != null) - { - this.SelectRoomEvent?.Invoke(this.listRoom[keys]); - } - }; - - //璋冪敤鍥炶皟鍑芥暟 - if (oldSelectIndex == index) - { - if (this.dicDevice != null) - { - this.SelectDeviceEvent?.Invoke(this.dicDevice[keys]); - } - else if (this.listRoom != null) - { - this.SelectRoomEvent?.Invoke(this.listRoom[keys]); - } - } - } - - /// <summary> - /// 鍒濆鍖栨帶浠� - /// </summary> - /// <param name="scrolContr">鍒楄〃鎺т欢</param> - /// <param name="keys">瀛楀吀鐨勪富閿�</param> - /// <param name="index">绱㈠紩</param> - /// <param name="text">鏄剧ず鏂囨湰</param> - /// <param name="textWidth">鏂囨湰鐪熷疄瀹藉害</param> - private void DoInitControl2(HorizontalScrolViewLayout scrolContr, int keys, int index, string text, int textWidth) - { - //甯﹀簳鍥炬帶浠剁殑鏈�灏忓搴� - int minWidth = Application.GetRealWidth(255); - //甯﹀簳鍥炬帶浠剁殑鐪熷疄瀹藉害 <鏂囧瓧鐨勫搴︾殑璁$畻 frameBack.Width - (int)(frameBack.Height * 0.47)> - int realWidth = textWidth + (int)(Application.GetRealHeight(159) * 0.47); - if (realWidth < minWidth) - { - realWidth = minWidth; - } - - //甯﹀浘鐗囩殑 - var frameBack = new FrameLayoutStatuControl(); - frameBack.UseClickStatu = false; - frameBack.Gravity = Gravity.Center; - frameBack.Height = Application.GetRealHeight(159); - frameBack.Width = realWidth; - frameBack.BorderWidth = 1; - frameBack.BorderColor = UserCenterColor.Current.TextColor1; - scrolContr.AddChidren(frameBack); - if (oldSelectIndex == index) - { - frameBack.SetViewShadow(true); - frameBack.BackgroundColor = UserCenterColor.Current.TextColor1; - oldFrameBack = frameBack; - } - - //鏂囧瓧 - var btnText = new NormalViewControl(textWidth, frameBack.Height, false); - btnText.Gravity = Gravity.CenterHorizontal; - btnText.Text = text; - btnText.TextSize = 12; - btnText.TextAlignment = TextAlignment.Center; - if (oldSelectIndex == index) - { - btnText.TextColor = UserCenterColor.Current.White; - oldBtnText = btnText; - } - else - { - btnText.TextColor = UserCenterColor.Current.TextGrayColor1; - } - frameBack.AddChidren(btnText, ChidrenBindMode.BindEventOnly); - - frameBack.ButtonClickEvent += (sender, e) => - { - if (oldSelectIndex == index) - { - //鍚屼竴涓笢瑗� - return; - } - oldSelectIndex = index; - - //鐘舵�佸彉鏇� - frameBack.SetViewShadow(true); - frameBack.BackgroundColor = UserCenterColor.Current.TextColor1; - btnText.TextColor = UserCenterColor.Current.White; - - oldFrameBack.SetViewShadow(false); - oldFrameBack.BackgroundColor = UserCenterColor.Current.Transparent; - oldBtnText.TextColor = UserCenterColor.Current.TextGrayColor1; - oldFrameBack = frameBack; - oldBtnText = btnText; - //璋冪敤鍥炶皟鍑芥暟 - if (this.dicDevice != null) - { - this.SelectDeviceEvent?.Invoke(this.dicDevice[keys]); - } - else if (this.listRoom != null) - { - this.SelectRoomEvent?.Invoke(this.listRoom[keys]); - } - }; - - //璋冪敤鍥炶皟鍑芥暟 - if (oldSelectIndex == index) - { - if (this.dicDevice != null) - { - this.SelectDeviceEvent?.Invoke(this.dicDevice[keys]); - } - else if (this.listRoom != null) - { - this.SelectRoomEvent?.Invoke(this.listRoom[keys]); - } - } - } - - - #endregion - - #region 鈻� 鎺т欢鎽ф瘉___________________________ - - /// <summary> - /// 鎺т欢鎽ф瘉 - /// </summary> - public override void RemoveFromParent() - { - this.SelectDeviceEvent = null; - this.SelectRoomEvent = null; - - base.RemoveFromParent(); - } - - #endregion - - #region 鈻� 涓�鑸柟娉昣__________________________ - - /// <summary> - /// 璁剧疆鍒濆閫夋嫨(璇峰湪鍒濆鍖栧畬鎴愪箣鍓嶈皟鐢�) - /// </summary> - /// <param name="keys">鎴块棿ID 鎴栬�� R鏂囦欢閲岄潰鐨勬暟鍊肩紪鍙�(杞负瀛楃涓茬被鍨�)</param> - public void SetDefultIndex(string keys) - { - if (listRoom != null) - { - for (int index = 0; index < listRoom.Count; index++) - { - if (listRoom[index].Id == keys) - { - oldSelectIndex = index; - break; - } - } - } - else if (keys != string.Empty) - { - int i = 0; - int textId = Convert.ToInt32(keys); - foreach (int rId in dicDevice.Keys) - { - if (rId == textId) - { - oldSelectIndex = i; - break; - } - i++; - } - } - } - - #endregion - } -} +锘縰sing System; +using System.Collections.Generic; +using System.Text; +using ZigBee.Device; + +namespace Shared.Phone.UserCenter +{ + /// <summary> + /// 鎴块棿缁勫悎鎴栬�呰澶囩粍鍚堢殑鑿滃崟鎺т欢(瀹屾垚鍒濆鍖栧悗,浼氭牴鎹粯璁ら�夋嫨璋冪敤鍥炶皟鍑芥暟) + /// </summary> + public class RoomDeviceGroupMenuControl : FrameLayout + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 鎴块棿閫夋嫨浜嬩欢 + /// </summary> + public Action<Common.Room> SelectRoomEvent = null; + /// <summary> + /// 璁惧閫夋嫨浜嬩欢 + /// </summary> + public Action<List<CommonDevice>> SelectDeviceEvent = null; + /// <summary> + /// 褰撳墠閫夋嫨鐨勪富閿�(鎴块棿绫诲瀷鏃讹細鎴块棿ID 璁惧绫诲瀷鏃讹細鏂囨湰淇℃伅) + /// </summary> + public string nowSelectKeys + { + get + { + if (dicDevice != null) + { + int index = 0; + foreach (var rId in dicDevice.Keys) + { + if (index == oldSelectIndex) + { + return rId.ToString(); + } + index++; + } + return string.Empty; + } + return listRoom[oldSelectIndex].Id; + } + } + + /// <summary> + /// 褰撳墠閫夋嫨鐨勭储寮�(鍐呴儴浣跨敤) + /// </summary> + private int oldSelectIndex = -1; + /// <summary> + /// 鎴块棿瀵硅薄 + /// </summary> + private List<Common.Room> listRoom = null; + /// <summary> + /// 璁惧瀵硅薄 + /// </summary> + private Dictionary<string, List<CommonDevice>> dicDevice = null; + /// <summary> + /// 鍓嶅洖閫夋嫨鐨勬帶浠� + /// </summary> + private FrameLayoutStatuControl oldFrameBack = null; + /// <summary> + /// 鍓嶅洖閫夋嫨鐨勬帶浠� + /// </summary> + private NormalViewControl oldBtnText = null; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鎴块棿缁勫悎鐨勮彍鍗曟帶浠�(瀹屾垚鍒濆鍖栧悗,浼氭牴鎹粯璁ら�夋嫨璋冪敤鍥炶皟鍑芥暟) + /// </summary> + /// <param name="i_listRoom">鎴块棿鍒楄〃</param> + public RoomDeviceGroupMenuControl(List<Common.Room> i_listRoom) + { + this.listRoom = i_listRoom; + this.Height = Application.GetRealHeight(204); + } + + /// <summary> + /// 璁惧缁勫悎鐨勮彍鍗曟帶浠� + /// </summary> + /// <param name="i_dicDevice">璁惧鍒楄〃,keys:鏂囨湰</param> + public RoomDeviceGroupMenuControl(Dictionary<string, List<CommonDevice>> i_dicDevice) + { + this.dicDevice = i_dicDevice; + this.Height = Application.GetRealHeight(204); + } + + /// <summary> + /// 鍒濆鍖栨帶浠�(浜嬩欢瑕佽嚦浜庡畠涔嬪墠) + /// </summary> + public void InitControl() + { + var scrolContr = new HorizontalScrolViewLayout(); + scrolContr.Gravity = Gravity.CenterVertical; + scrolContr.Height = this.Height; + this.AddChidren(scrolContr); + + //寮勪釜绌虹殑杩涘幓鍗犱綅缃� + var frameTemp = new FrameLayout(); + frameTemp.Height = this.Height; + frameTemp.Width = ControlCommonResourse.XXLeft / 2; + scrolContr.AddChidren(frameTemp); + + var btnTempWidth = new ButtonBase(); + btnTempWidth.TextSize = 12; + if (this.listRoom != null) + { + //鍒濆鍖栨埧闂存ā寮忕殑鎺т欢 + for (int i = 0; i < listRoom.Count; i++) + { + if (oldSelectIndex == -1) + { + //鍒濆鍊� + oldSelectIndex = i; + } + + //璁$畻瀛楃鐨勭湡瀹炲搴� + btnTempWidth.Text = listRoom[i].Name; + this.DoInitControl(scrolContr, i.ToString(), i, listRoom[i].Name, btnTempWidth.GetRealWidthByText()); + } + } + else + { + //鍒濆鍖栬澶囨ā寮忕殑鎺т欢 + int index = 0; + foreach (string strKeys in dicDevice.Keys) + { + if (oldSelectIndex == -1) + { + //鍒濆鍊� + oldSelectIndex = index; + } + //璁$畻瀛楃鐨勭湡瀹炲搴� + btnTempWidth.Text = strKeys; + this.DoInitControl(scrolContr, strKeys, index, btnTempWidth.Text, btnTempWidth.GetRealWidthByText()); + index++; + } + } + //璁╂帶浠舵粦鍔ㄥ埌鎸囧畾鐨勭储寮曚綅缃� + scrolContr.ScrollToViewIndex(oldSelectIndex + 1); + } + + /// <summary> + /// 鍒濆鍖栨帶浠� + /// </summary> + /// <param name="scrolContr">鍒楄〃鎺т欢</param> + /// <param name="strKey">瀛楀吀鐨勪富閿�</param> + /// <param name="index">绱㈠紩</param> + /// <param name="text">鏄剧ず鏂囨湰</param> + /// <param name="textWidth">鏂囨湰鐪熷疄瀹藉害</param> + private void DoInitControl(HorizontalScrolViewLayout scrolContr, string strKey, int index, string text, int textWidth) + { + //甯﹀簳鍥炬帶浠剁殑鏈�灏忓搴� + int minWidth = Application.GetRealWidth(255); + //甯﹀簳鍥炬帶浠剁殑鐪熷疄瀹藉害 <鏂囧瓧鐨勫搴︾殑璁$畻 frameBack.Width - (int)(frameBack.Height * 0.47)> + int realWidth = textWidth + (int)(Application.GetRealHeight(159) * 0.47); + if (realWidth < minWidth) + { + realWidth = minWidth; + } + + //甯﹀浘鐗囩殑 + var frameBack = new FrameLayoutStatuControl(); + frameBack.UseClickStatu = false; + frameBack.Gravity = Gravity.Center; + frameBack.Height = Application.GetRealHeight(159); + frameBack.Width = realWidth; + if (oldSelectIndex == index) + { + frameBack.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png"; + oldFrameBack = frameBack; + } + else + { + frameBack.BackgroundImagePath = "Item/RoomIconBackground.png"; + } + scrolContr.AddChidren(frameBack); + //鏂囧瓧 + var btnText = new NormalViewControl(textWidth, frameBack.Height, false); + btnText.Gravity = Gravity.CenterHorizontal; + btnText.Text = text; + btnText.TextSize = 12; + btnText.TextAlignment = TextAlignment.Center; + if (oldSelectIndex == index) + { + btnText.TextColor = UserCenterColor.Current.White; + oldBtnText = btnText; + } + else + { + btnText.TextColor = UserCenterColor.Current.TextGrayColor1; + } + frameBack.AddChidren(btnText, ChidrenBindMode.BindEvent); + + frameBack.ButtonClickEvent += (sender, e) => + { + if (oldSelectIndex == index) + { + //鍚屼竴涓笢瑗� + return; + } + oldSelectIndex = index; + + //鐘舵�佸彉鏇� + frameBack.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png"; + btnText.TextColor = UserCenterColor.Current.White; + + oldFrameBack.BackgroundImagePath = "Item/RoomIconBackground.png"; + oldBtnText.TextColor = UserCenterColor.Current.TextGrayColor1; + oldFrameBack = frameBack; + oldBtnText = btnText; + //璋冪敤鍥炶皟鍑芥暟 + if (this.dicDevice != null) + { + this.SelectDeviceEvent?.Invoke(this.dicDevice[strKey]); + } + else if (this.listRoom != null) + { + this.SelectRoomEvent?.Invoke(this.listRoom[Convert.ToInt32(strKey)]); + } + }; + + //璋冪敤鍥炶皟鍑芥暟 + if (oldSelectIndex == index) + { + if (this.dicDevice != null) + { + this.SelectDeviceEvent?.Invoke(this.dicDevice[strKey]); + } + else if (this.listRoom != null) + { + this.SelectRoomEvent?.Invoke(this.listRoom[Convert.ToInt32(strKey)]); + } + } + } + + #endregion + + #region 鈻� 鎺т欢鎽ф瘉___________________________ + + /// <summary> + /// 鎺т欢鎽ф瘉 + /// </summary> + public override void RemoveFromParent() + { + this.SelectDeviceEvent = null; + this.SelectRoomEvent = null; + + base.RemoveFromParent(); + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 璁剧疆鍒濆閫夋嫨(璇峰湪鍒濆鍖栧畬鎴愪箣鍓嶈皟鐢�) + /// </summary> + /// <param name="strKey">鎴块棿ID 鎴栬�� 鏂囨湰淇℃伅</param> + public void SetDefultIndex(string strKey) + { + if (listRoom != null) + { + for (int index = 0; index < listRoom.Count; index++) + { + if (listRoom[index].Id == strKey) + { + oldSelectIndex = index; + break; + } + } + } + else if (strKey != string.Empty) + { + int i = 0; + foreach (string rId in dicDevice.Keys) + { + if (rId == strKey) + { + oldSelectIndex = i; + break; + } + i++; + } + } + } + + #endregion + } +} -- Gitblit v1.8.0