using System; using System.Collections.Generic; using HDL_ON.DAL.Server; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI { public class Iot_BrandFunctionListPage :FrameLayout { FrameLayout bodyView; IntegratedBrand_Iot brand_Iot; /// /// 解绑回调 /// public Action unboundAction; public Iot_BrandFunctionListPage(IntegratedBrand_Iot brand_Iot) { bodyView = this; this.brand_Iot = brand_Iot; } public void LoadPage() { Action action = () => { var page = new iot_BindTipPage(); MainPage.BasePageView.AddChidren(page); page.unboundAction = () => { this.RemoveFromParent(); unboundAction?.Invoke(); }; page.LoadPage(brand_Iot); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; new TopViewDiv(bodyView, "品牌名称").LoadTopView_3tyIot(action); bodyView.BackgroundColor = CSS_Color.MainBackgroundColor; bodyView.AddChidren(new Button { Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor, }); Button btnTipText = new Button() { Y = Application.GetRealHeight(80), Width = Application.GetRealWidth(347), Height = Application.GetRealHeight(65), Gravity = Gravity.CenterHorizontal, Radius = (uint)Application.GetRealWidth(5), BackgroundColor = 0x194484F4, TextColor = CSS_Color.FirstLevelTitleColor, Padding = new Padding(12, Application.GetRealWidth(16), 12, Application.GetRealWidth(16)), TextSize = CSS_FontSize.TextFontSize, Text = "默认将第三方品牌的设备全部关联到On Pro上,您也可以通过下方的开关按键,进行选择性关联。", IsMoreLines = true, TextAlignment = TextAlignment.CenterLeft, }; bodyView.AddChidren(btnTipText); var contentView = new VerticalRefreshLayout() { Y = Application.GetRealHeight(150), Height = Application.GetRealHeight(573), }; bodyView.AddChidren(contentView); LoadDeviceFunctionControlZone(contentView); } /// /// 加载设备功能显示区域 /// void LoadDeviceFunctionControlZone(VerticalRefreshLayout deviceFunctionView) { #region ContextView var rowView = new FrameLayout(); try { int index = 0; var list = new List(); list.Add(new Function { spk = SPK.AcStandard, name = "空调" }); list.Add(new Function { spk = SPK.LightDimming, name = "灯光" }); foreach (var function in list) { if (index % 2 == 0) { rowView = new FrameLayout() { Height = Application.GetRealWidth(140), }; deviceFunctionView.AddChidren(rowView); } var functionView_X = Application.GetRealWidth((182 + 7) * (index % 2)); if (index % 2 == 0) { functionView_X += Application.GetRealWidth(7); } var functionView = new FrameLayout() { X = functionView_X, Width = Application.GetRealWidth(182), Height = Application.GetRealWidth(140), Radius = (uint)Application.GetRealWidth(12), Tag = function.sid }; rowView.AddChidren(functionView); var btnbg = new Button() { UnSelectedImagePath = "Collection/Functionbg.png", SelectedImagePath = "Collection/FunctionOnbg.png", Tag = function.sid }; functionView.AddChidren(btnbg); LoadDeviceFunctionDiv(functionView, function,btnbg); index++; } if (index == 0) { var view = new FrameLayout(); deviceFunctionView.AddChidren(view); var btnNoCollectionBg = new Button() { Y = Application.GetRealHeight(20), Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(180), Height = Application.GetRealWidth(180), Text = "没有任何设备" }; view.AddChidren(btnNoCollectionBg); var btnNoCollectionTip = new Button() { Height = Application.GetRealHeight(42), Y = btnNoCollectionBg.Bottom, TextAlignment = TextAlignment.Center, TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextID = StringId.TipNoFunctionCollcetion, }; view.AddChidren(btnNoCollectionTip); } } catch (Exception ex) { } deviceFunctionView.AddChidren(new Button { Height = Application.GetRealHeight(30) }); #endregion } /// /// 加载功能控制卡片 /// void LoadDeviceFunctionDiv(FrameLayout view, Function function,Button btnBg) { try { Button btnIcon; btnIcon = new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(24), Width = Application.GetMinRealAverage(54), Height = Application.GetMinRealAverage(54), }; view.AddChidren(btnIcon); btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png"; Button btnName; btnName = new Button() { Y = btnIcon.Bottom, Text = function.name, IsBold = true, TextColor = CSS_Color.FirstLevelTitleColor, SelectedTextColor = CSS_Color.MainBackgroundColor, TextSize = CSS_FontSize.TextFontSize, Height = Application.GetRealWidth(24), TextAlignment = TextAlignment.Center, }; view.AddChidren(btnName); Button btnClick = new Button(); view.AddChidren(btnClick); btnClick.MouseUpEventHandler = (sender, e) => { function.collect = !function.collect; if (function.collect) { btnName.IsSelected = btnIcon.IsSelected = btnBg.IsSelected = true; var pack = http.Set3tyIotFunctionToHouse(function.deviceId, DB_ResidenceData.Instance.CurrentRegion.id); if (pack != null) { } } else { btnName.IsSelected = btnIcon.IsSelected = btnBg.IsSelected = false; var pack = http.Set3tyIotFunctionToHouse(function.deviceId, "0"); if (pack != null) { } } }; } catch (Exception ex) { MainPage.Log("homepage LoadControlView error : " + ex.Message); } } HttpServerRequest http = new HttpServerRequest(); } }