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); } } }