From 38a11bcfaf3cf703e38201c9c6cd6631354ea243 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 30 十一月 2021 09:55:09 +0800
Subject: [PATCH] Siri功能完成
---
HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs | 198 +++++++++++++++++++++++++++++++------------------
1 files changed, 125 insertions(+), 73 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs
index 6171977..52f25af 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs
@@ -29,7 +29,15 @@
/// <summary>
/// 璋冨厜鎺т欢
/// </summary>
- WaveSeekBar dimmerBar;
+ WaveSeekBarOn dimmerBar;
+ /// <summary>
+ /// 浜害鏄剧ず鎸夐挳
+ /// </summary>
+ Button btnBrightnessText;
+ /// <summary>
+ /// 娓愬彉鏃堕棿淇敼
+ /// </summary>
+ DiyImageSeekBar barFadeTime;
/// <summary>
/// 寮�鍏虫寜閽�
/// </summary>
@@ -37,10 +45,12 @@
#endregion
#region 鍖哄煙鍙橀噺
- Light light;
+ Light lightTemp = new Light();
+ Function function;
Button btnCollection_Out;
Button btnFunctionName_Out;
Button btnFromFloor_Out;
+ bool onDimmerBar = false;
/// <summary>
/// 鍒锋柊鏄剧ず淇℃伅
/// </summary>
@@ -53,10 +63,10 @@
bodyView = null;
}
- public DimmerPage(Light func)
+ public DimmerPage(Function func)
{
bodyView = this;
- light = func;
+ function = func;
}
public void LoadPage(Button btnCollectionIcon, Button btnFunctionNameOut, Button btnFromFloorOut)
@@ -65,8 +75,8 @@
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);
+ //new TopViewDiv(bodyView, Language.StringByID(StringId.Lights)).LoadTopView(function,null);
+ //new PublicAssmebly().LoadTopView(bodyView, Language.StringByID(StringId.Lights), function);
controlView = new FrameLayout()
{
@@ -87,7 +97,7 @@
TextColor = CSS_Color.FirstLevelTitleColor,
TextAlignment = TextAlignment.CenterLeft,
TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel,
- Text = light.name,
+ Text = function.name,
};
controlView.AddChidren(btnFunctionName);
@@ -100,7 +110,7 @@
TextColor = CSS_Color.PromptingColor1,
TextAlignment = TextAlignment.CenterLeft,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- Text = light.GetRoomListName()
+ Text = function.GetRoomListName()
};
controlView.AddChidren(btnFromFoorAndRoom);
@@ -112,87 +122,126 @@
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);
+ //}
- dimmerBar = new WaveSeekBar()
+ dimmerBar = new WaveSeekBarOn()
{
Gravity = Gravity.CenterHorizontal,
Y = Application.GetRealHeight(74 + 16),
Width = Application.GetRealWidth(168 - 40),
Height = Application.GetRealHeight(288 - 16 - 16),
- WaveColor = light.on_off == 1 ? CSS_Color.AuxiliaryColor1 : CSS_Color.DividingLineColor,
- WaveBorderColor = CSS_Color.PromptingColor2,
BorderColor = 0x00000000,
- CornerRadius = Application.GetRealWidth(1),
+ CornerRadius = Application.GetRealWidth(30),
BorderWidth = 0,
- WavePadding = Application.GetRealWidth(-5),
- BackgroundColor = CSS_Color.BackgroundColor,
- Radius = (uint)Application.GetRealWidth(40),
- Progress = light.brightness,
+ Progress = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness)),
+ IsProgressTextShow = false,
};
controlView.AddChidren(dimmerBar);
-
- #region 娓愬彉鏃堕棿璋冭妭
- var btnGradualChangeText = new Button()
+ if(function.trait_on_off.curValue.ToString() == "on")
{
- X = Application.GetRealWidth(35),
- Y = Application.GetRealHeight(385),
- Width = Application.GetRealWidth(224),
- Height = Application.GetRealHeight(21),
- TextAlignment = TextAlignment.CenterLeft,
+ dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
+ }
+ else
+ {
+ dimmerBar.SetProgressBarColors(CSS_Color.DividingLineColor, CSS_Color.DividingLineColor);
+ }
+ dimmerBar.Progress = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.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_FirstLevel,
- TextID = StringId.SpeedOfChange,
+ TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ Text = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness)) + "%",
};
- controlView.AddChidren(btnGradualChangeText);
+ controlView.AddChidren(btnBrightnessText);
- var btnGradualChangeMinValuesText = new Button()
+ if (function.GetAttribute(FunctionAttributeKey.FadeTime) != null)
{
- 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);
+ #region 娓愬彉鏃堕棿璋冭妭
- 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,
- };
- controlView.AddChidren(barGradualChange);
+ 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,
+ Visible = function.GetAttribute(FunctionAttributeKey.FadeTime) != null,
+ Enable = function.GetAttribute(FunctionAttributeKey.FadeTime) != null,
+ };
+ controlView.AddChidren(btnGradualChangeText);
- 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
+ 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,
+ Visible = function.GetAttribute(FunctionAttributeKey.FadeTime) != null,
+ Enable = function.GetAttribute(FunctionAttributeKey.FadeTime) != null,
+ };
+ controlView.AddChidren(btnGradualChangeMinValuesText);
+ barFadeTime = 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 = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.FadeTime)),
+ SeekBarPadding = Application.GetRealWidth(20),
+ Visible = function.GetAttribute(FunctionAttributeKey.FadeTime) != null,
+ Enable = function.GetAttribute(FunctionAttributeKey.FadeTime) != null,
+ };
+ controlView.AddChidren(barFadeTime);
+ barFadeTime.OnStopTrackingTouchEvent = (sender, e) =>
+ {
+ function.SetAttrState(FunctionAttributeKey.FadeTime, e.ToString());
+ function.UpdataFuncitonInfo();
+ };
+
+ var btnGradualChangeMaxValuesText = new Button()
+ {
+ X = barFadeTime.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,
+ Visible = function.GetAttribute(FunctionAttributeKey.FadeTime) != null,
+ Enable = function.GetAttribute(FunctionAttributeKey.FadeTime) != null,
+ };
+ controlView.AddChidren(btnGradualChangeMaxValuesText);
+ #endregion
+ }
btnSwitch = new Button()
{
Gravity = Gravity.CenterHorizontal,
@@ -201,15 +250,18 @@
Height = Application.GetMinRealAverage(40),
UnSelectedImagePath = "Public/PowerClose.png",
SelectedImagePath = "Public/PowerOpen.png",
- IsSelected = light.on_off != 0,
- //Tag =
+ 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();
}
--
Gitblit v1.8.0