From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期三, 01 十二月 2021 16:32:57 +0800
Subject: [PATCH] 2021-12-01-01
---
HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs | 325 +++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 263 insertions(+), 62 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs
index 8519535..56c921d 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs
@@ -37,6 +37,10 @@
/// </summary>
Button btnMode;
/// <summary>
+ /// 鎵鎸夐挳
+ /// </summary>
+ Button btnSwing;
+ /// <summary>
/// 椋庨�熸寜閽�
/// </summary>
Button btnWindSpeed;
@@ -47,7 +51,14 @@
AC acFunction = new AC();
-
+ /// <summary>
+ /// 鎺у埗鏃堕棿
+ /// </summary>
+ DateTime controlTime = DateTime.MinValue.AddDays(10);
+ /// <summary>
+ /// 鎺у埗娓╁害
+ /// </summary>
+ int temp = 16;
#endregion
@@ -58,6 +69,19 @@
/// </summary>
public override void InitFrameWhiteContent()
{
+
+ var sk = device.GetAttribute(FunctionAttributeKey.SetTemp);
+ if (sk != null)
+ {
+ if (sk.min == 0)
+ {
+ sk.min = 16;
+ }
+ if (sk.max == 0)
+ {
+ sk.max = 32;
+ }
+ }
base.ShowColltionButton = false;
base.SetTitleText(Language.StringByID(StringId.Electric));
@@ -72,7 +96,19 @@
//璇诲彇鐘舵��
new System.Threading.Thread(() =>
{
- Control.Ins.SendReadCommand(device);
+ while (true)
+ {
+ if(controlTime == DateTime.MinValue)
+ {
+
+ }
+ else if (controlTime.AddSeconds(2)<DateTime.Now)
+ {
+ Control.Ins.SendReadCommand(device);
+ controlTime = DateTime.MinValue;
+ }
+ System.Threading.Thread.Sleep(1000);
+ }
})
{ IsBackground = true }.Start();
}
@@ -82,7 +118,7 @@
/// </summary>
private void InitFrameWhiteContent1()
{
-
+ temp = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp));
arcBar = new DiyArcSeekBar()
{
Gravity = Gravity.CenterHorizontal,
@@ -106,12 +142,12 @@
};
FrameWhiteCentet1.AddChidren(arcBar);
-
+
arcBar.ThumbImagePath = device.GetAttrState(FunctionAttributeKey.OnOff) == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png";
arcBar.IsOffline = device.GetAttrState(FunctionAttributeKey.OnOff) == "off";
arcBar.MinValue = device.GetAttribute(FunctionAttributeKey.SetTemp).min;
arcBar.MaxValue = device.GetAttribute(FunctionAttributeKey.SetTemp).max;
- arcBar.Progress = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp));
+ arcBar.Progress = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp));
btnTemp = new Button()
{
@@ -122,7 +158,7 @@
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = 50,
IsBold = true,
- Text = device.GetAttrState(FunctionAttributeKey.SetTemp),
+ Text = Convert.ToDouble( device.GetAttrState(FunctionAttributeKey.SetTemp)).ToString(),
TextAlignment = TextAlignment.Center,
};
FrameWhiteCentet1.AddChidren(btnTemp);
@@ -182,6 +218,21 @@
UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode)),
};
FrameWhiteCentet1.AddChidren(btnMode);
+
+
+ btnSwing = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealHeight(330),
+ Width = Application.GetRealWidth(40),
+ Height = Application.GetRealWidth(40),
+ UnSelectedImagePath = "FunctionIcon/AC/SweepIconNullOn.png",
+ };
+ if (device.GetAttribute(FunctionAttributeKey.Swing) != null)
+ {
+ FrameWhiteCentet1.AddChidren(btnSwing);
+ }
+
btnWindSpeed = new Button()
{
@@ -310,19 +361,137 @@
btnModeIcon.IsSelected = btnModeText.IsSelected = true;
device.SetAttrState(FunctionAttributeKey.Mode, m);
btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(m);
- System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
- btnMode.UnSelectedImagePath = btnModeIcon.UnSelectedImagePath;
+ Dictionary<string, string> d = new Dictionary<string, string>();
d.Add(FunctionAttributeKey.Mode, m);
Control.Ins.SendWriteCommand(device, d);
dialog.Close();
if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
{
arcBar.IsClickable = false;
+ arcBar.IsOffline = true;
}
else
{
+ arcBar.IsOffline = false;
arcBar.IsClickable = true;
}
+ };
+ btnModeIcon.MouseUpEventHandler = eventHandler1;
+ btnModeText.MouseUpEventHandler = eventHandler1;
+ dialogView.MouseUpEventHandler = eventHandler;
+
+ }
+
+ dialogView.MouseUpEventHandler = (sender, e) => {
+ dialog.Close();
+ };
+ dialog.Show();
+ }
+
+ /// <summary>
+ /// 鍔犺浇淇敼鎵妯″紡鍖哄煙
+ /// </summary>
+ void LoadDiv_ChangeSwingView()
+ {
+ Dialog dialog = new Dialog();
+
+ FrameLayout dialogView = new FrameLayout()
+ {
+ BackgroundColor = CSS_Color.DialogTransparentColor1,
+ };
+ dialog.AddChidren(dialogView);
+
+ FrameLayout modeChangeView;
+ modeChangeView = new FrameLayout()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealHeight(128),
+ Width = Application.GetRealWidth(160),
+ Height = Application.GetRealHeight(287),
+ BackgroundImagePath = "FunctionIcon/AC/DivBg2.png",
+ };
+ dialogView.AddChidren(modeChangeView);
+
+ Button btnTitle;
+ btnTitle = new Button()
+ {
+ X = Application.GetRealWidth(8 + 16),
+ Y = Application.GetRealHeight(8),
+ Width = Application.GetRealWidth(112),
+ Height = Application.GetRealHeight(44),
+ TextID = StringId.Swing,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
+ };
+ modeChangeView.AddChidren(btnTitle);
+
+ Button btnLine = new Button()
+ {
+ X = btnTitle.X,
+ Y = btnTitle.Bottom,
+ Width = Application.GetRealWidth(112),
+ Height = Application.GetRealHeight(1),
+ BackgroundColor = CSS_Color.BackgroundColor,
+ };
+ modeChangeView.AddChidren(btnLine);
+
+ var modeList = device.GetAttribute(FunctionAttributeKey.Swing).value;
+ foreach (var m in modeList)
+ {
+ Button btnModeIcon = new Button()
+ {
+ X = btnTitle.X,
+ Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8),
+ Width = Application.GetRealWidth(24),
+ Height = Application.GetRealWidth(24),
+ IsSelected = device.GetAttrState(FunctionAttributeKey.Swing) == m,
+ };
+ modeChangeView.AddChidren(btnModeIcon);
+
+ Button btnModeText = new Button()
+ {
+ X = Application.GetRealWidth(12) + btnModeIcon.Right,
+ Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8),
+ Height = Application.GetRealHeight(44),
+ Width = Application.GetRealWidth(90),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ SelectedTextColor = CSS_Color.MainColor,
+ IsSelected = device.GetAttrState(FunctionAttributeKey.Swing) == m,
+ TextSize = CSS_FontSize.TextFontSize,
+ };
+ modeChangeView.AddChidren(btnModeText);
+
+ if (modeList.IndexOf(m) < modeList.Count - 1)
+ {
+ modeChangeView.AddChidren(new Button()
+ {
+ X = btnTitle.X,
+ Y = btnModeText.Bottom,
+ Width = Application.GetRealWidth(112),
+ Height = Application.GetRealHeight(1),
+ BackgroundColor = CSS_Color.BackgroundColor,
+ });
+ }
+
+ btnModeIcon.UnSelectedImagePath = acFunction.GetSwingIconPath(m, false);
+ btnModeIcon.SelectedImagePath = acFunction.GetSwingIconPath(m);
+ btnModeText.Text = acFunction.GetSwingAttrText(m);
+
+ EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+ {
+ dialog.Close();
+ };
+ EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
+ {
+ btnModeIcon.IsSelected = btnModeText.IsSelected = true;
+ device.SetAttrState(FunctionAttributeKey.Swing, m);
+ btnSwing.UnSelectedImagePath = acFunction.GetSwingIconPath(m);
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.Swing, m);
+ Control.Ins.SendWriteCommand(device, d);
+ dialog.Close();
};
btnModeIcon.MouseUpEventHandler = eventHandler1;
btnModeText.MouseUpEventHandler = eventHandler1;
@@ -437,7 +606,7 @@
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
d.Add(FunctionAttributeKey.FanSpeed, m);
Control.Ins.SendWriteCommand(device, d);
- btnWindSpeed.UnSelectedImagePath = btnFanIcon.UnSelectedImagePath;
+ //btnWindSpeed.UnSelectedImagePath = btnFanIcon.UnSelectedImagePath;
dialog.Close();
};
btnFanIcon.MouseUpEventHandler = eventHandler1;
@@ -458,9 +627,9 @@
var btnMore = new Button()
{
Gravity = Gravity.CenterHorizontal,
- Y = Application.GetRealHeight(334),
- Width = Application.GetRealWidth(30),
- Height = Application.GetRealWidth(30),
+ Y = Application.GetRealHeight(334 + 80),
+ Width = Application.GetRealWidth(35),
+ Height = Application.GetRealWidth(35),
UnSelectedImagePath = "FunctionIcon/AC/More.png",
};
FrameWhiteCentet1.AddChidren(btnMore);
@@ -470,6 +639,7 @@
};
}
}
+
/// <summary>
/// 鍔犺浇棰濆瀵圭孩澶栨寜閽晫闈�
/// </summary>
@@ -485,8 +655,8 @@
var bodyView = new FrameLayout()
{
- Y = Application.GetRealHeight(423),
- Height = Application.GetRealHeight(296),
+ Y = Application.GetRealHeight(427),//667
+ Height = Application.GetRealHeight(240),
BackgroundColor = CSS_Color.MainBackgroundColor,
};
div.AddChidren(bodyView);
@@ -496,7 +666,6 @@
Y = Application.GetRealHeight(16),
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(296+200),
-
};
bodyView.AddChidren(contentView);
@@ -589,19 +758,19 @@
{
var btn = new Button()
- {
- Gravity = Gravity.CenterVertical,
- Width = Application.GetRealWidth(88),
- Height = Application.GetRealHeight(40),
- Radius = (uint)Application.GetRealHeight(18),
- BorderColor = CSS_Color.PromptingColor1,
- BorderWidth = (uint)Application.GetRealWidth(2),
- TextAlignment = TextAlignment.Center,
- TextSize = CSS_FontSize.TextFontSize,
- TextColor = CSS_Color.FirstLevelTitleColor,
- SelectedTextColor = CSS_Color.MainBackgroundColor,
- SelectedBackgroundColor = CSS_Color.MainColor,
- };
+ {
+ Gravity = Gravity.CenterVertical,
+ Width = Application.GetRealWidth(88),
+ Height = Application.GetRealHeight(40),
+ Radius = (uint)Application.GetRealHeight(18),
+ BorderColor = CSS_Color.PromptingColor1,
+ BorderWidth = (uint)Application.GetRealWidth(2),
+ TextAlignment = TextAlignment.Center,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ SelectedTextColor = CSS_Color.MainBackgroundColor,
+ SelectedBackgroundColor = CSS_Color.MainColor,
+ };
if (attr.value.Count > 0)
{
btn.Text = attr.value[0];
@@ -676,12 +845,14 @@
{
return;
}
- var temp = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp));
- if (temp <= device.GetAttribute(FunctionAttributeKey.Mode).min)
+
+ if (temp <= device.GetAttribute(FunctionAttributeKey.SetTemp).min)
{
return;
}
- temp--;
+ --temp;
+ Console.WriteLine($"temp == {temp}");
+ controlTime = DateTime.Now;
arcBar.Progress = temp;
btnTemp.Text = temp.ToString();
device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString());
@@ -695,12 +866,12 @@
{
return;
}
- var temp = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp));
if (temp >= device.GetAttribute(FunctionAttributeKey.SetTemp).max)
{
return;
}
- temp++;
+ ++temp;
+ controlTime = DateTime.Now;
arcBar.Progress = temp;
btnTemp.Text = temp.ToString();
device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString());
@@ -721,15 +892,17 @@
device.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString());
btnTemp.Text = e.ToString();
};
- arcBar.MouseDownEventHandler = (sender, e) => {
- Console.WriteLine("ddd");
- MainPage.BasePageView.ScrollEnabled =false;
- };
- arcBar.MouseUpEventHandler = (sender, e) => {
- Console.WriteLine("ddd2");
- MainPage.BasePageView.ScrollEnabled = true;
- };
+ //arcBar.MouseDownEventHandler = (sender, e) => {
+ // Console.WriteLine("ddd");
+ // MainPage.BasePageView.ScrollEnabled =false;
+ //};
+ //arcBar.MouseUpEventHandler = (sender, e) => {
+ // Console.WriteLine("ddd2");
+ // MainPage.BasePageView.ScrollEnabled = true;
+ //};
}
+
+
/// <summary>
/// 鎺у埗妯″紡浜嬩欢
/// </summary>
@@ -742,6 +915,15 @@
return;
}
LoadDiv_ChangeModeView();
+ };
+ //鎵鏀瑰彉妯″紡
+ btnSwing.MouseUpEventHandler = (sender, e) =>
+ {
+ if (device.trait_on_off.curValue.ToString() == "off")
+ {
+ return;
+ }
+ LoadDiv_ChangeSwingView();
};
btnWindSpeed.MouseUpEventHandler = (sender, e) =>
{
@@ -785,32 +967,51 @@
{
Application.RunOnMainThread(() =>
{
- btnTemp.Text = device.GetAttrState(FunctionAttributeKey.SetTemp);
- btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.RoomTemp))) + "掳C";
- btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode));
- btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed));
- arcBar.Progress = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp)));
- if (device.trait_on_off.curValue.ToString() == "on")
+ //app鑷繁鎺у埗鐨勪笉鐢ㄦ洿鏂帮紝浼氶�犳垚璺冲姩
+ if (controlTime.AddSeconds(2) > DateTime.Now)
{
- arcBar.IsOffline = false;
- btnSwitch.IsSelected = true;
- arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
- if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
- {
- arcBar.IsClickable = false;
- }
- else
- {
- arcBar.IsClickable = true;
- }
+ return;
}
else
{
- arcBar.IsOffline = true;
- btnSwitch.IsSelected = false;
- arcBar.IsClickable = false;
- arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
+ btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.RoomTemp))) + "掳C";
+ btnMode.SelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode));
+ btnSwing.SelectedImagePath = acFunction.GetSwingIconPath(device.GetAttrState(FunctionAttributeKey.Swing));
+ btnWindSpeed.SelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed));
+ btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode), false);
+ btnSwing.UnSelectedImagePath = acFunction.GetSwingIconPath(device.GetAttrState(FunctionAttributeKey.Swing), false);
+ btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed), false);
+ temp = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp)));
+
+
+ arcBar.Progress = temp;
+ btnTemp.Text = temp.ToString() ;
+
+ if (device.trait_on_off.curValue.ToString() == "on")
+ {
+ btnMode.IsSelected = btnSwing.IsSelected = btnWindSpeed.IsSelected = true;
+ arcBar.IsOffline = false;
+ btnSwitch.IsSelected = true;
+ arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
+ if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
+ {
+ arcBar.IsClickable = false;
+ }
+ else
+ {
+ arcBar.IsClickable = true;
+ }
+ }
+ else
+ {
+ btnMode.IsSelected = btnSwing.IsSelected = btnWindSpeed.IsSelected = false;
+ arcBar.IsOffline = true;
+ btnSwitch.IsSelected = false;
+ arcBar.IsClickable = false;
+ arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
+ }
}
+
});
}
--
Gitblit v1.8.0