| | |
| | | /// 调光进度条 |
| | | /// </summary> |
| | | DiyImageSeekBar dimmerBar; |
| | | /// <summary> |
| | | /// 渐变时间进度条 |
| | | /// </summary> |
| | | DiyImageSeekBar barFadeTime; |
| | | /// <summary> |
| | | /// 色盘里面那个会滑动的球 |
| | | /// </summary> |
| | | Button btnWhiteRound; |
| | | #endregion |
| | | |
| | | #region 区域变量 |
| | | Light light; |
| | | Light lightTemp; |
| | | Button btnCollection_Out; |
| | | Button btnFunctionName_Out; |
| | | Button btnFromFloor_Out; |
| | | bool onDimmerBar = false; |
| | | Function function; |
| | | |
| | | /// <summary> |
| | | /// 最后打开的颜色 |
| | | /// </summary> |
| | | byte[] lastColor = new byte[3] { 255, 255, 255 }; |
| | | /// <summary> |
| | | /// 刷新显示信息 |
| | | /// </summary> |
| | |
| | | public RGBPage(Function func) |
| | | { |
| | | bodyView = this; |
| | | light = func as Light; |
| | | function = func; |
| | | lightTemp = new Light(); |
| | | } |
| | | |
| | | public void LoadPage(Button btnCollectionIcon, Button btnFunctionNameOut, Button btnFromFloorOut) |
| | |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel, |
| | | Text = light.name, |
| | | Text = function.name, |
| | | }; |
| | | controlView.AddChidren(btnFunctionName); |
| | | |
| | |
| | | TextColor = CSS_Color.PromptingColor1, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Text = light.GetRoomListName() |
| | | Text = function.GetRoomListName() |
| | | }; |
| | | controlView.AddChidren(btnFromFoorAndRoom); |
| | | |
| | |
| | | Radius = (uint)Application.GetMinRealAverage(8), |
| | | BorderColor = CSS_Color.PromptingColor2, |
| | | BorderWidth = 1, |
| | | BackgroundColor = (uint)(0xFF000000 + light.redColor * 256 * 256 + light.greenColor * 256 + light.blueColor) |
| | | BackgroundColor = (uint)(0xFF000000 + lightTemp.GetRGBcolor(function)) |
| | | }; |
| | | controlView.AddChidren(btnCurColor); |
| | | |
| | |
| | | Height = Application.GetMinRealAverage(40), |
| | | SelectedImagePath = "Collection/CollectionIcon.png", |
| | | UnSelectedImagePath = "Collection/CollectionGrayIcon.png", |
| | | IsSelected = light.collection |
| | | IsSelected = function.collect |
| | | }; |
| | | controlView.AddChidren(btnCollection); |
| | | //2020-12-16 如果是成员隐藏收藏功能 |
| | | //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare) |
| | | //{ |
| | | // controlView.AddChidren(btnCollection); |
| | | //} |
| | | |
| | | //色盘的桌布控件(限制那个白色滑动球使用) |
| | | var framePickerBack = new FrameLayout(); |
| | | framePickerBack.Gravity = Gravity.CenterHorizontal; |
| | | framePickerBack.Y = btnFromFoorAndRoom.Bottom + Application.GetRealHeight(1); |
| | | framePickerBack.Width = Application.GetMinRealAverage(216); |
| | | framePickerBack.Height = Application.GetMinRealAverage(216); |
| | | controlView.AddChidren(framePickerBack); |
| | | |
| | | 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); |
| | | framePickerBack.AddChidren(colorPicker); |
| | | if(function.trait_on_off.curValue.ToString() == "off") |
| | | { |
| | | colorPicker.ColorImagePath = "FunctionIcon/Light/ColorWheelGray.png"; |
| | | } |
| | | //colorPicker.MouseDownEventHandler = (sender, e) => { |
| | | // MainPage.BasePageView.ScrollEnabled = false; |
| | | //}; |
| | | //colorPicker.MouseUpEventHandler = (sender, e) => { |
| | | // MainPage.BasePageView.ScrollEnabled = true; |
| | | //}; |
| | | |
| | | //白点控件 |
| | | this.btnWhiteRound = new Button(); |
| | | btnWhiteRound.Width = Application.GetRealWidth(24); |
| | | btnWhiteRound.Height = Application.GetRealWidth(24); |
| | | btnWhiteRound.UnSelectedImagePath = "FunctionIcon/Light/ColorWheelTip.png"; |
| | | btnWhiteRound.Visible = false; |
| | | framePickerBack.AddChidren(btnWhiteRound); |
| | | |
| | | #region 亮度调节 |
| | | var btnBrightnessText = new Button() |
| | |
| | | { |
| | | X = Application.GetRealWidth(35), |
| | | Y = btnBrightnessText.Bottom, |
| | | Width = Application.GetRealWidth(22), |
| | | Width = Application.GetRealWidth(30), |
| | | Height = Application.GetRealHeight(21), |
| | | Text = "0%", |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | |
| | | |
| | | dimmerBar = new DiyImageSeekBar() |
| | | { |
| | | X = btnMinValuesText.Right, |
| | | X = Application.GetRealWidth(35 + 22), |
| | | Y = Application.GetRealHeight(312), |
| | | Width = Application.GetRealWidth(210), |
| | | Height = Application.GetRealHeight(54), |
| | |
| | | ThumbImageHeight = Application.GetRealHeight(54), |
| | | ProgressTextColor = CSS_Color.FirstLevelTitleColor, |
| | | ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | ProgressBarColor = light.on_off == "on" ? CSS_Color.AuxiliaryColor1 : CSS_Color.DividingLineColor, |
| | | ProgressBarColor = function.trait_on_off.curValue.ToString() == "on" ? CSS_Color.AuxiliaryColor1 : CSS_Color.DividingLineColor, |
| | | MaxValue = 100, |
| | | Progress = light.brightness, |
| | | Progress = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness)), |
| | | SeekBarPadding = Application.GetRealWidth(20), |
| | | }; |
| | | controlView.AddChidren(dimmerBar); |
| | | |
| | |
| | | { |
| | | X = dimmerBar.Right, |
| | | Y = btnBrightnessText.Bottom, |
| | | Width = Application.GetRealWidth(35), |
| | | Width = Application.GetRealWidth(45), |
| | | Height = Application.GetRealHeight(21), |
| | | Text = "100%", |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.PromptingColor1, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Visible = function.GetAttribute(FunctionAttributeKey.FadeTime) != null, |
| | | Enable = function.GetAttribute(FunctionAttributeKey.FadeTime) != null, |
| | | }; |
| | | controlView.AddChidren(btnGradualChangeMinValuesText); |
| | | |
| | | var barGradualChange = new DiyImageSeekBar() |
| | | barFadeTime = new DiyImageSeekBar() |
| | | { |
| | | X = btnGradualChangeMinValuesText.Right, |
| | | Y = Application.GetRealHeight(412 - 21), |
| | |
| | | ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | ProgressBarUnitSring = "s", |
| | | MaxValue = 10, |
| | | Progress = 0, |
| | | Progress = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.FadeTime)), |
| | | SeekBarPadding = Application.GetRealWidth(20), |
| | | Visible = function.GetAttribute(FunctionAttributeKey.FadeTime) != null, |
| | | Enable = function.GetAttribute(FunctionAttributeKey.FadeTime) != null, |
| | | }; |
| | | controlView.AddChidren(barGradualChange); |
| | | controlView.AddChidren(barFadeTime); |
| | | |
| | | var btnGradualChangeMaxValuesText = new Button() |
| | | { |
| | | X = barGradualChange.Right, |
| | | X = barFadeTime.Right, |
| | | Y = btnGradualChangeText.Bottom+ Application.GetRealHeight(10), |
| | | Width = Application.GetRealWidth(35), |
| | | Height = Application.GetRealHeight(21), |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.PromptingColor1, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Visible = function.GetAttribute(FunctionAttributeKey.FadeTime) != null, |
| | | Enable = function.GetAttribute(FunctionAttributeKey.FadeTime) != null, |
| | | }; |
| | | controlView.AddChidren(btnGradualChangeMaxValuesText); |
| | | #endregion |
| | | |
| | | btnRestoredPoint = new Button() |
| | | { |
| | | X = Application.GetRealWidth(104), |
| | | Y = Application.GetRealHeight(462), |
| | | Width = Application.GetMinRealAverage(40), |
| | | Height = Application.GetMinRealAverage(40), |
| | | X = Application.GetRealWidth(116), |
| | | Y = Application.GetRealHeight(466), |
| | | Width = Application.GetMinRealAverage(32), |
| | | Height = Application.GetMinRealAverage(32), |
| | | UnSelectedImagePath = "Public/Restored_Shadow.png", |
| | | SelectedImagePath = "Public/Restored_Shadow.png", |
| | | }; |
| | |
| | | |
| | | btnSwitch = new Button() |
| | | { |
| | | X = btnRestoredPoint.Right + Application.GetRealWidth(40), |
| | | Y = Application.GetRealHeight(462), |
| | | Width = Application.GetMinRealAverage(40), |
| | | Height = Application.GetMinRealAverage(40), |
| | | X = btnRestoredPoint.Right + Application.GetRealWidth(32), |
| | | Y = Application.GetRealHeight(466), |
| | | Width = Application.GetMinRealAverage(32), |
| | | Height = Application.GetMinRealAverage(32), |
| | | UnSelectedImagePath = "Public/PowerClose.png", |
| | | SelectedImagePath = "Public/PowerOpen.png", |
| | | IsSelected = function.trait_on_off.curValue.ToString() == "on" |
| | | }; |
| | | controlView.AddChidren(btnSwitch); |
| | | |
| | | LoadEventList(); |
| | | new TopViewDiv(bodyView, Language.StringByID(StringId.Lights)).LoadTopView(light, actionRefresh); |
| | | new TopViewDiv(bodyView, Language.StringByID(StringId.Lights)).LoadTopView_FunctionTop(function, actionRefresh); |
| | | new System.Threading.Thread(() => |
| | | { |
| | | DriverLayer.Control.Ins.SendReadCommand(function); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | } |
| | | } |