From 3272ca5b51e19f7f8a827b0f68400570a547fe60 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期二, 28 四月 2020 15:02:44 +0800 Subject: [PATCH] 2020-04-28-1 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs | 115 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 96 insertions(+), 19 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs index b0c3624..7da740e 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs @@ -6,20 +6,24 @@ namespace Shared.Phone.UserCenter { /// <summary> - /// 璁惧淇℃伅鐣岄潰鐨勮澶囧浘鏍囨帶浠� + /// 璁惧淇℃伅鐣岄潰鐨勮澶囧浘鏍囨帶浠�(鍏煎缃戝叧) /// </summary> - public class DeviceInfoIconControl : FrameLayout + public class DeviceInfoIconControl : FrameLayoutControl { #region 鈻� 鍙橀噺澹版槑___________________________ /// <summary> /// 璁惧Mac鍦板潃 /// </summary> - private string deviceMac = string.Empty; + private string deviceMac = null; /// <summary> /// 璁惧绔偣 /// </summary> - private int deviceEpoint = 0; + private int deviceEpoint = -1; + /// <summary> + /// 缃戝叧瀵硅薄 + /// </summary> + private ZbGateway zbGateway = null; /// <summary> /// 鍥炬爣鎺т欢 /// </summary> @@ -32,36 +36,90 @@ /// <summary> /// 璁惧淇℃伅鐣岄潰鐨勮澶囧浘鏍囨帶浠� /// </summary> - /// <param name="i_device">璁惧鍥炶矾瀵硅薄</param> - public DeviceInfoIconControl(CommonDevice i_device) + public DeviceInfoIconControl() { - deviceMac = i_device.DeviceAddr; - deviceEpoint = i_device.DeviceEpoint; - //绗竴灞傚簳鑹� this.Height = Application.GetMinRealAverage(207); this.Width = Application.GetMinRealAverage(207); this.BackgroundColor = UserCenterColor.Current.White; - this.Radius = (uint)Application.GetMinRealAverage(207); + this.Radius = (uint)Application.GetMinRealAverage(207) / 2; + this.UseClickStatu = false; } /// <summary> - /// 鍒濆鍖� + /// 鍒濆鍖�(璁惧) /// </summary> - public void InitControl() + /// <param name="i_device">璁惧瀵硅薄</param> + public void InitControl(CommonDevice i_device) { + this.deviceMac = i_device.DeviceAddr; + //闃叉鍑虹幇璇樊 + int iconWidth = Application.GetMinRealAverage(207) - Application.GetMinRealAverage(12) - Application.GetMinRealAverage(12); //绗簩灞傚簳鑹� - var btnIcon2 = new NormalViewControl(Application.GetMinRealAverage(184), Application.GetMinRealAverage(184), false); + var btnIcon2 = new NormalViewControl(iconWidth, iconWidth, false); btnIcon2.BackgroundColor = 0xfffef1ed; - btnIcon2.Radius = (uint)Application.GetMinRealAverage(184); + btnIcon2.Radius = (uint)iconWidth / 2; btnIcon2.Gravity = Gravity.Center; - this.AddChidren(btnIcon2); + this.AddChidren(btnIcon2, ChidrenBindMode.BindEventOnly); + + //璁惧鍥炬爣 + var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceMac); + if (listDevice.Count == 0) + { + //瀵瑰簲鍗曠函鍙湁200鍥炶矾鐨勮澶� + listDevice.Add(Common.LocalDevice.Current.GetOTADevice(deviceMac)); + } + btnIcon = new NormalViewControl(Application.GetMinRealAverage(121), Application.GetMinRealAverage(121), false); + btnIcon.Gravity = Gravity.Center; + Common.LocalDevice.Current.SetDeviceObjectIconToControl(btnIcon, listDevice); + this.AddChidren(btnIcon, ChidrenBindMode.BindEventOnly); + } + + /// <summary> + /// 鍒濆鍖�(璁惧绔偣) + /// </summary> + /// <param name="i_device">璁惧瀵硅薄</param> + public void InitControl(string deviceMacAddr, int epoint) + { + this.deviceMac = deviceMacAddr; + this.deviceEpoint = epoint; + //闃叉鍑虹幇璇樊 + int iconWidth = Application.GetMinRealAverage(207) - Application.GetMinRealAverage(12) - Application.GetMinRealAverage(12); + //绗簩灞傚簳鑹� + var btnIcon2 = new NormalViewControl(iconWidth, iconWidth, false); + btnIcon2.BackgroundColor = 0xfffef1ed; + btnIcon2.Radius = (uint)iconWidth / 2; + btnIcon2.Gravity = Gravity.Center; + this.AddChidren(btnIcon2, ChidrenBindMode.BindEventOnly); //璁惧鍥炬爣 btnIcon = new NormalViewControl(Application.GetMinRealAverage(121), Application.GetMinRealAverage(121), false); btnIcon.Gravity = Gravity.Center; - Common.LocalDevice.Current.SetDeviceBeloneIconToControl(btnIcon, Common.LocalDevice.Current.GetDevicesByMac(deviceMac)); - this.AddChidren(btnIcon); + Common.LocalDevice.Current.SetDeviceIconToControl(btnIcon, Common.LocalDevice.Current.GetDevice(deviceMacAddr, epoint)); + this.AddChidren(btnIcon, ChidrenBindMode.BindEventOnly); + } + + /// <summary> + /// 鍒濆鍖�(缃戝叧) + /// </summary> + /// <param name="i_gateway">缃戝叧瀵硅薄</param> + public void InitControl(ZbGateway i_gateway) + { + this.zbGateway = i_gateway; + //闃叉鍑虹幇璇樊 + int iconWidth = Application.GetMinRealAverage(207) - Application.GetMinRealAverage(12) - Application.GetMinRealAverage(12); + //绗簩灞傚簳鑹� + var btnIcon2 = new NormalViewControl(iconWidth, iconWidth, false); + btnIcon2.BackgroundColor = 0xfffef1ed; + btnIcon2.Radius = (uint)iconWidth / 2; + btnIcon2.Gravity = Gravity.Center; + this.AddChidren(btnIcon2, ChidrenBindMode.BindEventOnly); + + //璁惧鍥炬爣 + btnIcon = new NormalViewControl(Application.GetMinRealAverage(121), Application.GetMinRealAverage(121), false); + btnIcon.Gravity = Gravity.Center; + HdlGatewayLogic.Current.SetGatewayIcon(btnIcon, i_gateway); + this.AddChidren(btnIcon, ChidrenBindMode.BindEventOnly); } #endregion @@ -73,8 +131,27 @@ /// </summary> public void RefreshControl() { - //鍒锋柊鍥炬爣 - Common.LocalDevice.Current.SetDeviceBeloneIconToControl(btnIcon, Common.LocalDevice.Current.GetDevicesByMac(deviceMac)); + if (this.deviceEpoint != -1) + { + //鍒锋柊鍥炬爣 + Common.LocalDevice.Current.SetDeviceIconToControl(btnIcon, Common.LocalDevice.Current.GetDevice(this.deviceMac, this.deviceEpoint)); + } + else if (this.deviceMac != null) + { + //鍒锋柊鍥炬爣 + var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceMac); + if (listDevice.Count == 0) + { + //瀵瑰簲鍗曠函鍙湁200鍥炶矾鐨勮澶� + listDevice.Add(Common.LocalDevice.Current.GetOTADevice(deviceMac)); + } + Common.LocalDevice.Current.SetDeviceObjectIconToControl(btnIcon, listDevice); + } + else + { + //鍒锋柊鍥炬爣 + HdlGatewayLogic.Current.SetGatewayIcon(btnIcon, this.zbGateway); + } } #endregion -- Gitblit v1.8.0