using System;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
namespace HDL_ON.UI
{
public partial class RGBPage : FrameLayout
{
#region 控件集合
static RGBPage bodyView;
///
/// 颜色选择区域
///
ColorPicker colorPicker;
///
/// 显示当前选中颜色的按钮
///
Button btnCurColor;
///
/// 功能名称
///
Button btnFunctionName;
///
/// 功能所属楼层、房间
///
Button btnFromFoorAndRoom;
///
/// 收藏按钮
///
Button btnCollection;
///
/// k开关按钮
///
Button btnSwitch;
///
/// 恢复默认颜色
///
Button btnRestoredPoint;
///
/// 调光进度条
///
DiyImageSeekBar dimmerBar;
#endregion
#region 区域变量
Light light;
Button btnCollection_Out;
Button btnFunctionName_Out;
Button btnFromFloor_Out;
bool onDimmerBar = false;
///
/// 刷新显示信息
///
Action actionRefresh;
#endregion
public RGBPage(Function func)
{
bodyView = this;
light = func as Light;
}
public void LoadPage(Button btnCollectionIcon, Button btnFunctionNameOut, Button btnFromFloorOut)
{
btnCollection_Out = btnCollectionIcon;
btnFunctionName_Out = btnFunctionNameOut;
btnFromFloor_Out = btnFromFloorOut;
bodyView.BackgroundColor = CSS_Color.BackgroundColor;
//new TopViewDiv(bodyView, Language.StringByID(StringId.Lights)).LoadTopView(function,null);
//new PublicAssmebly().LoadTopView(bodyView, Language.StringByID(StringId.Lights), function);
FrameLayout controlView = new FrameLayout()
{
Gravity = Gravity.CenterHorizontal,
Y = Application.GetRealHeight(88),
Width = Application.GetRealWidth(327),
Height = Application.GetRealHeight(526),
BackgroundImagePath = "Public/Fragmentbg.png",
};
bodyView.AddChidren(controlView);
btnFunctionName = new Button()
{
X = Application.GetRealWidth(16),
Y = Application.GetRealHeight(14),
Width = Application.GetRealWidth(270),
Height = Application.GetRealHeight(37),
TextColor = CSS_Color.FirstLevelTitleColor,
TextAlignment = TextAlignment.CenterLeft,
TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel,
Text = light.name,
};
controlView.AddChidren(btnFunctionName);
btnFromFoorAndRoom = new Button()
{
X = Application.GetRealWidth(16),
Y = btnFunctionName.Bottom,
Width = Application.GetRealWidth(270),
Height = Application.GetRealHeight(21),
TextColor = CSS_Color.PromptingColor1,
TextAlignment = TextAlignment.CenterLeft,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
Text = light.GetRoomListName()
};
controlView.AddChidren(btnFromFoorAndRoom);
btnCurColor = new Button()
{
X = Application.GetRealWidth(16),
Y = btnFromFoorAndRoom.Bottom,
Width = Application.GetMinRealAverage(24),
Height = Application.GetMinRealAverage(24),
Radius = (uint)Application.GetMinRealAverage(8),
BorderColor = CSS_Color.PromptingColor2,
BorderWidth = 1,
BackgroundColor = (uint)(0xFF000000 + light.redColor * 256 * 256 + light.greenColor * 256 + light.blueColor)
};
controlView.AddChidren(btnCurColor);
btnCollection = new Button()
{
X = Application.GetRealWidth(273),
Y = Application.GetRealHeight(14),
Width = Application.GetMinRealAverage(40),
Height = Application.GetMinRealAverage(40),
SelectedImagePath = "Collection/CollectionIcon.png",
UnSelectedImagePath = "Collection/CollectionGrayIcon.png",
IsSelected = light.collection
};
controlView.AddChidren(btnCollection);
colorPicker = new ColorPicker()
{
Gravity = Gravity.CenterHorizontal,
Y = btnFromFoorAndRoom.Bottom + Application.GetRealHeight(1),
Width = Application.GetMinRealAverage(216),
Height = Application.GetMinRealAverage(216),
ColorImagePath = "FunctionIcon/Light/ColorWheel.png",
};
controlView.AddChidren(colorPicker);
#region 亮度调节
var btnBrightnessText = new Button()
{
X = Application.GetRealWidth(35),
Y = Application.GetRealHeight(308),
Width = Application.GetRealWidth(224),
Height = Application.GetRealHeight(21),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
TextID = StringId.Brightness,
};
controlView.AddChidren(btnBrightnessText);
var btnMinValuesText = new Button()
{
X = Application.GetRealWidth(35),
Y = btnBrightnessText.Bottom,
Width = Application.GetRealWidth(22),
Height = Application.GetRealHeight(21),
Text = "0%",
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
};
controlView.AddChidren(btnMinValuesText);
dimmerBar = new DiyImageSeekBar()
{
X = btnMinValuesText.Right,
Y = Application.GetRealHeight(312),
Width = Application.GetRealWidth(210),
Height = Application.GetRealHeight(54),
SeekBarViewHeight = Application.GetRealHeight(8),
ThumbImagePath = "Public/ThumbImage.png",
ThumbImageHeight = Application.GetRealHeight(54),
ProgressTextColor = CSS_Color.FirstLevelTitleColor,
ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel,
ProgressBarColor = light.trait_on_off.value.ToString() == "on" ? CSS_Color.AuxiliaryColor1 : CSS_Color.DividingLineColor,
MaxValue = 100,
Progress = light.brightness,
};
controlView.AddChidren(dimmerBar);
var btnMaxValuesText = new Button()
{
X = dimmerBar.Right,
Y = btnBrightnessText.Bottom,
Width = Application.GetRealWidth(35),
Height = Application.GetRealHeight(21),
Text = "100%",
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
};
controlView.AddChidren(btnMaxValuesText);
#endregion
#region 渐变时间调节
var btnGradualChangeText = new Button()
{
X = Application.GetRealWidth(35),
Y = Application.GetRealHeight(375),
Width = Application.GetRealWidth(224),
Height = Application.GetRealHeight(21),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
TextID = StringId.SpeedOfChange,
};
controlView.AddChidren(btnGradualChangeText);
var btnGradualChangeMinValuesText = new Button()
{
X = Application.GetRealWidth(35),
Y = btnGradualChangeText.Bottom+ Application.GetRealHeight(10),
Width = Application.GetRealWidth(22),
Height = Application.GetRealHeight(21),
Text = "0s",
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
};
controlView.AddChidren(btnGradualChangeMinValuesText);
var barGradualChange = new DiyImageSeekBar()
{
X = btnGradualChangeMinValuesText.Right,
Y = Application.GetRealHeight(412 - 21),
Width = Application.GetRealWidth(210),
Height = Application.GetRealHeight(54),
SeekBarViewHeight = Application.GetRealHeight(8),
ThumbImagePath = "Public/ThumbImage.png",
ThumbImageHeight = Application.GetRealHeight(54),
ProgressBarColor = CSS_Color.MainColor,
//SeekBarBackgroundColor = CSS_Color.MainColor,
ProgressTextColor = CSS_Color.FirstLevelTitleColor,
ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel,
ProgressBarUnitSring = "s",
MaxValue = 10,
Progress = 0,
};
controlView.AddChidren(barGradualChange);
var btnGradualChangeMaxValuesText = new Button()
{
X = barGradualChange.Right,
Y = btnGradualChangeText.Bottom+ Application.GetRealHeight(10),
Width = Application.GetRealWidth(35),
Height = Application.GetRealHeight(21),
Text = "10s",
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
};
controlView.AddChidren(btnGradualChangeMaxValuesText);
#endregion
btnRestoredPoint = new Button()
{
X = Application.GetRealWidth(104),
Y = Application.GetRealHeight(462),
Width = Application.GetMinRealAverage(40),
Height = Application.GetMinRealAverage(40),
UnSelectedImagePath = "Public/Restored_Shadow.png",
SelectedImagePath = "Public/Restored_Shadow.png",
};
controlView.AddChidren(btnRestoredPoint);
btnSwitch = new Button()
{
X = btnRestoredPoint.Right + Application.GetRealWidth(40),
Y = Application.GetRealHeight(462),
Width = Application.GetMinRealAverage(40),
Height = Application.GetMinRealAverage(40),
UnSelectedImagePath = "Public/PowerClose.png",
SelectedImagePath = "Public/PowerOpen.png",
IsSelected = light.trait_on_off.value.ToString() == "on"
};
controlView.AddChidren(btnSwitch);
LoadEventList();
new TopViewDiv(bodyView, Language.StringByID(StringId.Lights)).LoadTopView(light, actionRefresh);
}
}
}