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;
|
/// <summary>
|
/// 解绑回调
|
/// </summary>
|
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);
|
|
|
|
}
|
|
|
/// <summary>
|
/// 加载设备功能显示区域
|
/// </summary>
|
void LoadDeviceFunctionControlZone(VerticalRefreshLayout deviceFunctionView)
|
{
|
#region ContextView
|
var rowView = new FrameLayout();
|
try
|
{
|
int index = 0;
|
var list = new List<Function>();
|
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
|
|
}
|
|
|
/// <summary>
|
/// 加载功能控制卡片
|
/// </summary>
|
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();
|
|
|
}
|
}
|