From 2029e64ec0491f7e511dc15bffaf821bfbabe2de Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 20 七月 2020 14:10:22 +0800
Subject: [PATCH] 上传一个很特别的新版本
---
ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs | 329 +++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 224 insertions(+), 105 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs
index 7e3c14c..6148494 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs
@@ -1,4 +1,5 @@
锘縰sing System;
+using System.Collections.Generic;
using System.Threading.Tasks;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.DevicePanel
@@ -30,7 +31,28 @@
/// 鎸夐敭鐨勯鑹叉暟鎹�
/// </summary>
private Panel.KeyColorData keyColorData = null;
-
+ /// <summary>
+ /// 閫夋嫨鐫$湢鏃堕棿鐨勪簨浠� value:绱㈠紩(浠�0寮�濮�) 鏂囨湰淇℃伅璇风敤Text鑾峰彇
+ /// </summary>
+ public Action<int> timeAction = null;
+ /// <summary>
+ /// 褰撳墠閫夋嫨鐨勫姛鑳界被鍨嬬储寮�
+ /// </summary>
+ private int nowSelectNo = 0;
+ /// <summary>
+ /// /// <summary>
+ /// 鐫$湢鏃堕棿鐨勫��
+ /// </summary>
+ /// </summary>
+ public string sleepTimeText
+ {
+ get { return btnSleepTime.Text; }
+ set { btnSleepTime.Text = value; }
+ }
+ /// <summary>
+ ///鐫$湢鏃堕棿
+ /// </summary>
+ public NormalViewControl btnSleepTime = null;
#endregion
#region 鈻� 鍒濆鍖朹____________________________
@@ -78,10 +100,16 @@
//娣诲姞灞忓箷浜害绾у埆鎺т欢
this.AddScreenBrightnesLevelControl();
- //娣诲姞鑳屽厜鐏寒搴︽帶浠躲�愭殏鏃朵笉闇�瑕侊紝鍙兘鍚庢湡鏂伴闈㈡澘鐨勮繖涓鑹茶琛ュ洖鏉ャ��
- //this.AddBackLightControl();
- //銆愭殏鏃朵笉闇�瑕侊紝鍙兘鍚庢湡鏂伴闈㈡澘鐨勮繖涓鑹茶琛ュ洖鏉ャ��
- //this.FinishInitControl(listview, energyModeInfo.enable);
+
+ //鑾峰彇璁惧绫诲瀷鐨�
+ var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { panelDevice });
+ if (deviceEnumInfo.ConcreteType != Common.DeviceConcreteType.ButtonPanel_SimpleEnvironment)
+ {
+ //娣诲姞闈㈡澘鐨勯鑹�
+ this.AddColorControl();
+ }
+
+ this.FinishInitControl(listview, energyModeInfo.enable);
//淇濆瓨
var btnSave = new BottomClickButton();
@@ -146,6 +174,7 @@
//杩涘害鏉�
var seekBar1 = new SeekBarControl();
+ seekBar1.SeekBarPadding = 25;
seekBar1.MaxValue = 5;
seekBar1.ProgressBarColor = 0xff3e99f4;
seekBar1.Y = Application.GetRealHeight(253);
@@ -186,8 +215,12 @@
btnLevel.Text = "5" + strRank;
break;
}
+ listview.ScrollEnabled = false;
};
-
+ seekBar1.OnStopTrackingTouchEvent += (sender, e) =>
+ {
+ listview.ScrollEnabled = true;
+ };
seekBar1.OnStopTrackingTouchEvent += (div, value) =>
{
if (value == 0)
@@ -256,12 +289,12 @@
}
#endregion
- #region 鈻� 鑳屽厜鐏寒搴________________________
+ #region 鈻� 鑳屽厜棰滆壊_________________________
/// <summary>
- /// 娣诲姞鑳屽厜鐏寒搴︽帶浠�
+ /// 娣诲姞鑳屽厜棰滆壊鎺т欢
/// </summary>
- private void AddBackLightControl()
+ private void AddColorControl()
{
var btnEspace = new NormalViewControl(600, 58, true);
btnEspace.X = ControlCommonResourse.XXLeft;
@@ -270,125 +303,104 @@
//鑳屾櫙
var frameBack = new FrameLayout();
frameBack.Y = Application.GetRealHeight(490);
- frameBack.Height = Application.GetRealHeight(429);
+ frameBack.Height = Application.GetRealHeight(170);
frameBack.BackgroundColor = UserCenterColor.Current.White;
listview.AddChidren(frameBack);
- //鑳屽厜鐏寒搴�
+ //鑳屽厜鐏鑹�
var btnLevelView = new NormalViewControl(400, 60, true);
btnLevelView.X = ControlCommonResourse.XXLeft;
btnLevelView.Y = Application.GetRealHeight(54);
- btnLevelView.TextID = R.MyInternationalizationString.uBacklightBrightness;
+ btnLevelView.Gravity = Gravity.CenterVertical;
+ btnLevelView.TextID = R.MyInternationalizationString.BackgroundLightColor;
frameBack.AddChidren(btnLevelView);
-
- //褰撳墠浜害
- var btnProgressView1 = new NormalViewControl(200, 50, true);
- btnProgressView1.X = ControlCommonResourse.XXLeft;
- btnProgressView1.Y = Application.GetRealHeight(157);
- btnProgressView1.TextSize = 12;
- btnProgressView1.TextColor = UserCenterColor.Current.TextGrayColor1;
- btnProgressView1.TextID = R.MyInternationalizationString.uNowLuminance;
- frameBack.AddChidren(btnProgressView1);
- var btnProgress1 = new NormalViewControl(200, 50, true);
- btnProgress1.X = Application.GetRealWidth(222);
- btnProgress1.Y = Application.GetRealHeight(157);
- btnProgress1.TextSize = 12;
- btnProgress1.TextColor = UserCenterColor.Current.TextGrayColor1;
- btnProgress1.Text = "70%";
- frameBack.AddChidren(btnProgress1);
-
- //杩涘害鏉�
- var seekBar1 = new SeekBarControl();
- seekBar1.Y = Application.GetRealHeight(253);
- frameBack.AddChidren(seekBar1);
- seekBar1.ProgressChangedEvent += (div, value) =>
- {
- btnProgress1.Text = value + "%";
- };
- //seekBar1.Progress = linghtLevelInfo.panelBacklightLevel;
-
- var btnTemp1 = new NormalViewControl(200, 50, true);
- btnTemp1.X = ControlCommonResourse.XXLeft;
- btnTemp1.Y = Application.GetRealHeight(322);
- btnTemp1.TextSize = 12;
- btnTemp1.TextColor = UserCenterColor.Current.TextGrayColor3;
- btnTemp1.Text = "0%";
- frameBack.AddChidren(btnTemp1);
-
- var btnTemp2 = new NormalViewControl(200, 50, true);
- btnTemp2.X = frameBack.Width - ControlCommonResourse.XXLeft - Application.GetRealWidth(200);
- btnTemp2.Y = Application.GetRealHeight(322);
- btnTemp2.TextAlignment = TextAlignment.CenterRight;
- btnTemp2.TextSize = 12;
- btnTemp2.TextColor = UserCenterColor.Current.TextGrayColor3;
- btnTemp2.Text = "100%";
- frameBack.AddChidren(btnTemp2);
var frameColor = new FrameLayoutStatuControl();
frameColor.UseClickStatu = false;
frameColor.Width = Application.GetRealHeight(262);
frameColor.Height = this.GetPictrueRealSize(79);
- frameColor.Y = Application.GetRealHeight(26);
+ frameColor.Gravity = Gravity.CenterVertical;
frameColor.X = frameBack.Width - ControlCommonResourse.XXLeft - Application.GetRealHeight(262);
frameBack.AddChidren(frameColor);
+
//棰滆壊
- var btnColorView = new NormalViewControl(Application.GetRealHeight(110), this.GetPictrueRealSize(50), false);
+ var btnColorView = new NormalViewControl(Application.GetRealHeight(110), this.GetPictrueRealSize(49), false);
btnColorView.Gravity = Gravity.CenterVertical;
btnColorView.TextAlignment = TextAlignment.CenterRight;
btnColorView.TextSize = 12;
btnColorView.Y = Application.GetRealHeight(5);
btnColorView.TextColor = UserCenterColor.Current.TextGrayColor1;
btnColorView.TextID = R.MyInternationalizationString.uColor;
- frameColor.AddChidren(btnColorView, ChidrenBindMode.BindEventOnly);
+ frameColor.AddChidren(btnColorView, ChidrenBindMode.BindEvent);
- int R1 = Convert.ToInt32("d8", 16);
- int G1 = Convert.ToInt32("95", 16);
- int B1 = Convert.ToInt32("e3", 16);
+ int R1 = Convert.ToInt32(this.keyColorData.OpenColorR, 16);
+ int G1 = Convert.ToInt32(this.keyColorData.OpenColorG, 16);
+ int B1 = Convert.ToInt32(this.keyColorData.OpenColorB, 16);
uint backColor = this.GetColorByRGB((byte)R1, (byte)G1, (byte)B1);
- //棰滆壊澶栨
- var btnColorLine = new NormalViewControl(this.GetPictrueRealSize(79), this.GetPictrueRealSize(79), false);
+ //棰滆壊澶栨
+ var btnColorLine = new FrameLayoutStatuControl();
+ btnColorLine.Width = Application.GetRealHeight(79);
+ btnColorLine.Height = this.GetPictrueRealSize(79);
btnColorLine.X = btnColorView.Right + Application.GetRealHeight(18);
btnColorLine.Radius = (uint)this.GetPictrueRealSize(79) / 2;
btnColorLine.BorderWidth = 1;
- btnColorLine.BorderColor = 0xff666666;
- frameColor.AddChidren(btnColorLine, ChidrenBindMode.BindEventOnly);
+ btnColorLine.BorderColor = 0xffcccccc;
+ frameColor.AddChidren(btnColorLine, ChidrenBindMode.BindEvent);
var btnColor = new NormalViewControl(this.GetPictrueRealSize(69), this.GetPictrueRealSize(69), false);
- btnColor.Y = Application.GetRealHeight(5);
- btnColor.X = btnColorView.Right + Application.GetRealHeight(23);
+ btnColor.Gravity = Gravity.Center;
btnColor.Radius = (uint)this.GetPictrueRealSize(69) / 2;
- btnColor.BackgroundColor = UserCenterColor.Current.ErrorColor;
- frameColor.AddChidren(btnColor, ChidrenBindMode.BindEventOnly);
-
- //鍙樻洿婊戝姩鏉$殑棰滆壊
- seekBar1.ProgressBarColor = backColor;
+ btnColor.BackgroundColor = backColor;
+ btnColorLine.AddChidren(btnColor, ChidrenBindMode.BindEvent);
var btnRight = new NormalViewControl(this.GetPictrueRealSize(58), this.GetPictrueRealSize(58), false);
btnRight.UnSelectedImagePath = "Item/RightNext.png";
btnRight.Y = Application.GetRealHeight(5);
btnRight.X = frameColor.Width - this.GetPictrueRealSize(58);
- frameColor.AddChidren(btnRight, ChidrenBindMode.BindEventOnly);
+ frameColor.AddChidren(btnRight, ChidrenBindMode.BindEvent);
btnRight.Y += this.GetPictrueRealSize(8);
frameColor.ButtonClickEvent += (sender, e) =>
{
- var form = new PanelColorSelectForm();
- form.AddForm(R1, G1, B1);
- form.FinishSelectColorEvent += (Rcolor, Gcolor, Bcolor) =>
- {
- R1 = Rcolor;
- G1 = Gcolor;
- B1 = Bcolor;
+ PanelColor(btnColor, R1, G1, B1);
+ };
+ btnColorView.ButtonClickEvent += (sender, e) =>
+ {
+ PanelColor(btnColor, R1, G1, B1);
+ };
+ btnColor.ButtonClickEvent += (sender, e) =>
+ {
+ PanelColor(btnColor, R1, G1, B1);
+ };
+ btnColorLine.ButtonClickEvent += (sender, e) =>
+ {
+ PanelColor(btnColor, R1, G1, B1);
+ };
+ btnRight.ButtonClickEvent += (sender, e) =>
+ {
+ PanelColor(btnColor, R1, G1, B1);
+ };
+ }
- //this.keyColorData.CloseColorR = Convert.ToString(Rcolor, 16);
- //this.keyColorData.CloseColorG = Convert.ToString(Gcolor, 16);
- //this.keyColorData.CloseColorB = Convert.ToString(Bcolor, 16);
+ /// <summary>
+ /// PanelColorSelectForm
+ /// </summary>
+ private void PanelColor(NormalViewControl btnColor, int R1, int G1, int B1)
+ {
+ var form = new PanelColorSelectForm();
+ form.AddForm(R1, G1, B1);
+ form.FinishSelectColorEvent += (Rcolor, Gcolor, Bcolor) =>
+ {
+ R1 = Rcolor;
+ G1 = Gcolor;
+ B1 = Bcolor;
- btnColor.BackgroundColor = this.GetColorByRGB((byte)Rcolor, (byte)Gcolor, (byte)Bcolor);
- //鍙樻洿婊戝姩鏉$殑棰滆壊
- seekBar1.ProgressBarColor = btnColor.BackgroundColor;
- };
+ this.keyColorData.OpenColorR = Convert.ToString(Rcolor, 16);
+ this.keyColorData.OpenColorG = Convert.ToString(Gcolor, 16);
+ this.keyColorData.OpenColorB = Convert.ToString(Bcolor, 16);
+
+ btnColor.BackgroundColor = this.GetColorByRGB((byte)Rcolor, (byte)Gcolor, (byte)Bcolor);
};
}
@@ -417,7 +429,7 @@
btnSwitch.IsSelected = !btnSwitch.IsSelected;
energyModeInfo.enable = btnSwitch.IsSelected;
//灞曞紑鎴栬�呯缉灏忕殑楂樺害
- var value = Application.GetRealHeight(443);
+ var value = Application.GetRealHeight(614);
if (btnSwitch.IsSelected == true)
{
frameBack.Height += value;
@@ -426,7 +438,6 @@
{
frameBack.Height -= value;
}
- //瀹瑰櫒琛ュ厖
this.FinishInitControl(listview, energyModeInfo.enable);
};
if (energyModeInfo.enable == true)
@@ -454,12 +465,18 @@
var seekBar1 = new SeekBarControl();
seekBar1.Y = Application.GetRealHeight(253);
seekBar1.ProgressBarColor = 0xff3e99f4;
+ seekBar1.SeekBarPadding = 25;
frameBack.AddChidren(seekBar1);
seekBar1.ProgressChangedEvent += (div, value) =>
{
btnProgress1.Text = value + "%";
//鏁版嵁鍙樻洿
energyModeInfo.level = value;
+ listview.ScrollEnabled = false;
+ };
+ seekBar1.OnStopTrackingTouchEvent += (sender, e) =>
+ {
+ listview.ScrollEnabled = true;
};
seekBar1.Progress = energyModeInfo.level;
@@ -483,11 +500,21 @@
if (energyModeInfo.enable == true)
{
//灞曞紑鎴栬�呯缉灏忕殑楂樺害
- var value = Application.GetRealHeight(443);
+ var value = Application.GetRealHeight(614);
frameBack.Height += value;
}
//娣诲姞鎺ヨ繎鎰熷簲
this.AddProximitySensorsRow(frameBack);
+ //搴曠嚎
+ var btnLine = new NormalViewControl(965, 5, true);
+ btnLine.Height = 1;
+ btnLine.X = Application.GetRealWidth(52);
+ btnLine.Y = Application.GetRealHeight(484 + 127);
+ btnLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
+ frameBack.AddChidren(btnLine);
+
+ //娣诲姞鐫$湢鏃堕棿
+ this.AddSleepTimeRow(frameBack);
}
#endregion
@@ -524,6 +551,100 @@
}
#endregion
+ #region 鈻� 鐫$湢鏃堕棿___________________________
+
+ /// <summary>
+ /// 鐫$湢鏃堕棿琛�
+ /// </summary>
+ private void AddSleepTimeRow(FrameRowControl frameRowControl)
+ {
+ //鐫$湢鏃堕棿琛�
+ var frameBack = new FrameRowControl();
+ frameBack.BackgroundColor = UserCenterColor.Current.White;
+ frameBack.UseClickStatu = false;
+ frameBack.Y = Application.GetRealHeight(784 - 170);
+ frameBack.Height = Application.GetRealHeight(170);
+ frameRowControl.AddChidren(frameBack);
+
+ //鐫$湢鏃堕棿
+ frameBack.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.SleepTime), 400);
+ //鍙崇澶�
+ frameBack.AddRightArrow();
+ btnSleepTime = new NormalViewControl(700, true);
+ switch (energyModeInfo.time)
+ {
+ case 15:
+ btnSleepTime.Text = "15s";
+ nowSelectNo = 0;
+ break;
+ case 60:
+ btnSleepTime.Text = "1min";
+ nowSelectNo = 1;
+ break;
+ case 300:
+ btnSleepTime.Text = "5min";
+ nowSelectNo = 2;
+ break;
+ }
+ frameBack.AddMostRightView(this.sleepTimeText, 700);
+
+ timeAction = null;
+ timeAction += (nowSelectNo) =>
+ {
+ switch (nowSelectNo)
+ {
+ case 0:
+ energyModeInfo.time = 15;
+ break;
+ case 1:
+ energyModeInfo.time = 60;
+ break;
+ case 2:
+ energyModeInfo.time = 300;
+ break;
+ }
+ AddSleepTimeRow(frameRowControl);
+ };
+ frameBack.ButtonClickEvent += (sender, e) =>
+ {
+ this.ShowSelectDeviceSleepTimeListForm();
+ };
+ }
+
+ #region 鈻� 鏄剧ず閫夋嫨璁惧鐫$湢鏃堕棿_______________
+ /// <summary>
+ /// 鏄剧ず閫夋嫨璁惧鐫$湢鏃堕棿鐨勭晫闈�
+ /// </summary>
+ public void ShowSelectDeviceSleepTimeListForm()
+ {
+ //鏄剧ず鍒楄〃
+ var listText = new List<string>();
+ listText.Add("15s");
+ listText.Add("1min");
+ listText.Add("5min");
+ //鏍囬:閫夋嫨鍔熻兘绫诲瀷
+ var title = Language.StringByID(R.MyInternationalizationString.SleepTime);
+
+ var form = new BottomItemSelectForm();
+ form.CancelCallEvent = false;//鍏佽鍙栨秷
+ form.AddForm(title, listText, null, nowSelectNo);
+ form.FinishSelectEvent += (selectNo) =>
+ {
+ if (selectNo == nowSelectNo)
+ {
+ //閫夋嫨鐨勬槸鐩稿悓鐨�
+ return;
+ }
+ //-1:閫夋嫨鍙栨秷
+ this.sleepTimeText = selectNo == -1 ? string.Empty : listText[selectNo];
+ nowSelectNo = selectNo;
+ //璋冪敤鍥炶皟鍑芥暟
+ this.timeAction?.Invoke(nowSelectNo);
+ };
+ }
+ #endregion
+ #endregion
+
#region 鈻� 鑾峰彇鍒濆鏁版嵁_______________________
/// <summary>
@@ -535,7 +656,7 @@
//寮�鍚繘搴︽潯
this.ShowProgressBar();
//浜害璋冭妭(浠栦滑璇撮殢渚挎嬁涓�璺洖璺氨琛屼簡)
- linghtLevelInfo = await HdlDevicePanelLogic.Current.GetDeviceLightSettion(panelDevice);
+ linghtLevelInfo = HdlDevicePanelLogic.Current.GetDeviceLightSettion(panelDevice);
if (linghtLevelInfo == null)
{
//鍏抽棴杩涘害鏉�
@@ -551,14 +672,14 @@
return false;
}
//鑺傝兘妯″紡(浠栦滑璇撮殢渚挎嬁涓�璺洖璺氨琛屼簡)
- energyModeInfo = await HdlDevicePanelLogic.Current.GetDeviceEnergyConservationMode(panelDevice);
+ energyModeInfo = HdlDevicePanelLogic.Current.GetDeviceEnergyConservationMode(panelDevice);
if (energyModeInfo == null)
{
//鍏抽棴杩涘害鏉�
this.CloseProgressBar(ShowReLoadMode.YES);
return false;
}
- keyColorData = await HdlDevicePanelLogic.Current.GetPanelEpointColorInfo(panelDevice);
+ keyColorData = HdlDevicePanelLogic.Current.GetPanelColorInfo(panelDevice);
if (this.keyColorData == null)
{
//鍏抽棴杩涘害鏉�
@@ -583,9 +704,8 @@
this.ShowProgressBar();
//鑺傝兘妯″紡淇敼(浠栦滑璇撮殢渚夸竴涓洖璺氨琛�)
- //璁惧鍚屼簨璇存柊椋庨潰鏉块粯璁�60绉掓椂闂达紝杩欐牱鎺ヨ繎鎰熷簲鍔熻兘鎵嶅悎鐞�
- energyModeInfo.time = 60;
- var result = await HdlDevicePanelLogic.Current.SetDeviceEnergyConservationMode(panelDevice, energyModeInfo.enable, energyModeInfo.time, energyModeInfo.level);
+
+ var result = HdlDevicePanelLogic.Current.SetDeviceEnergyConservationMode(panelDevice, energyModeInfo.enable, energyModeInfo.time, energyModeInfo.level);
if (result == false)
{
this.CloseProgressBar();
@@ -600,24 +720,23 @@
}
//浜害璋冭妭鏇存敼(浠栦滑璇撮殢渚夸竴涓洖璺氨琛�)
- result = await HdlDevicePanelLogic.Current.SetDeviceLightSettion(panelDevice, linghtLevelInfo.panelDirectionsLevel, linghtLevelInfo.panelBacklightLevel);
+ result = HdlDevicePanelLogic.Current.SetDeviceLightSettion(panelDevice, linghtLevelInfo.panelDirectionsLevel, linghtLevelInfo.panelBacklightLevel);
if (result == false)
{
this.CloseProgressBar();
return;
}
- //璁剧疆鎸夐敭闈㈡澘鎸囧畾绔偣鐨勩�愭寚绀虹伅寮�鍏抽鑹层�戠殑淇℃伅
- //result = await HdlDevicePanelLogic.Current.SetPanelEpointColorInfo(panelDevice, this.keyColorData);
- //this.CloseProgressBar();
- //if (result == false)
- //{
- // return;
- //}
+ //璁剧疆鎸夐敭闈㈡澘棰滆壊鐨勪俊鎭�
+ result = HdlDevicePanelLogic.Current.SetPanelColorInfo(panelDevice, this.keyColorData);
+ this.CloseProgressBar();
+ if (result == false)
+ {
+ return;
+ }
//鍏抽棴鑷韩
this.CloseForm();
}
-
#endregion
#region 鈻� 琛ュ厖瀹瑰櫒___________________________
--
Gitblit v1.8.0