using System; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI { public partial class DimmerPage : FrameLayout { #region 控件集合 static DimmerPage bodyView; /// /// 控制界面加载区域 /// FrameLayout controlView; /// /// 功能备注 /// Button btnFunctionName; /// /// 功能所属楼层、房间 /// Button btnFromFoorAndRoom; /// /// 收藏按钮 /// Button btnCollection; /// /// 调光控件 /// WaveSeekBarOn dimmerBar; /// /// 亮度显示按钮 /// Button btnBrightnessText; /// /// 开关按钮 /// Button btnSwitch; #endregion #region 区域变量 Light light; Button btnCollection_Out; Button btnFunctionName_Out; Button btnFromFloor_Out; bool onDimmerBar = false; /// /// 刷新显示信息 /// Action actionRefresh; #endregion public override void RemoveFromParent() { base.RemoveFromParent(); bodyView = null; } public DimmerPage(Light func) { bodyView = this; light = func; } 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(light,null); //new PublicAssmebly().LoadTopView(bodyView, Language.StringByID(StringId.Lights), light); 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); 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); dimmerBar = new WaveSeekBarOn() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(74 + 16), Width = Application.GetRealWidth(168 - 40), Height = Application.GetRealHeight(288 - 16 - 16), //WaveBorderColor = CSS_Color.PromptingColor2, BorderColor = 0x00000000, CornerRadius = Application.GetRealWidth(40), BorderWidth = 0, //WavePadding = Application.GetRealWidth(-5), //BackgroundColor = CSS_Color.BackgroundColor, //Radius = (uint)Application.GetRealWidth(40), Progress = light.brightness, //ProgressTextColor =0x00000000, IsProgressTextShow = false, }; controlView.AddChidren(dimmerBar); if(light.trait_on_off.value.ToString() == "on") { dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1); } else { dimmerBar.SetProgressBarColors(CSS_Color.DividingLineColor, CSS_Color.DividingLineColor); } dimmerBar.Progress = light.brightness; btnBrightnessText = new Button() { Gravity = Gravity.CenterHorizontal, Y =( (100 - dimmerBar.Progress) * Application.GetRealHeight(288 - 16 - 16) /100)+ Application.GetRealWidth(40), Width = Application.GetRealWidth(56), Height = Application.GetRealWidth(46), UnSelectedImagePath = "FunctionIcon/Light/BrightnessBg.png", TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, Text = light.brightness + "%", }; controlView.AddChidren(btnBrightnessText); #region 渐变时间调节 var btnGradualChangeText = new Button() { X = Application.GetRealWidth(35), Y = Application.GetRealHeight(385), 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(8), 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) + Application.GetRealHeight(8), Width = Application.GetRealWidth(210), Height = Application.GetRealHeight(54), SeekBarViewHeight = Application.GetRealHeight(8), ThumbImagePath = "Public/ThumbImage.png", ThumbImageHeight = Application.GetRealHeight(54), ProgressBarColor = CSS_Color.MainColor, ProgressTextColor = CSS_Color.FirstLevelTitleColor, ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel, ProgressBarUnitSring = "s", MaxValue = 10, Progress = 0, SeekBarPadding = Application.GetRealWidth(20), }; controlView.AddChidren(barGradualChange); var btnGradualChangeMaxValuesText = new Button() { X = barGradualChange.Right, Y = btnGradualChangeText.Bottom + Application.GetRealHeight(8), 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 btnSwitch = new Button() { Gravity = Gravity.CenterHorizontal, 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); } } }