From 74a9ba8e9a2df9c39f9c2eb212a5ac889a055cd4 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期二, 03 十二月 2019 10:47:51 +0800
Subject: [PATCH] 优化UI细节(请合并最新代码)
---
ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs | 219 +++++++++++++++++++++++++++++-------------------------
1 files changed, 118 insertions(+), 101 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs
index 63e9498..d984867 100755
--- a/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs
+++ b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs
@@ -72,10 +72,6 @@
/// </summary>
private Button currentModeBtn;
/// <summary>
- /// 褰撳墠娓╁害
- /// </summary>
- private Button currentTemperatureBtn;
- /// <summary>
/// 娣诲姞娓╁害
/// </summary>
private Button addTemperatureBtn;
@@ -112,6 +108,19 @@
/// 浼犺繃鏉ョ殑ac
/// </summary>
private ZigBee.Device.AC ac;
+ /// <summary>
+ /// mArcScaleSeekBar
+ /// </summary>
+ private ArcScaleSeekBar mArcScaleSeekBar = new ArcScaleSeekBar { };
+ /// <summary>
+ /// 娓呮磥鐘舵��
+ /// </summary>
+ private LeftIconButtonRow cleanStatu;
+
+ /// <summary>
+ /// IsDrawerLockMode
+ /// </summary>
+ public bool IsDrawerLockMode;
#endregion
#region 鈼� 鎺ュ彛___________________________
@@ -174,7 +183,7 @@
ac.currentCoolingSetpoint = curTemp;
if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
{
- currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 鈩�";
+ mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint;
}
ac.LastDateTime = DateTime.Now;
@@ -184,7 +193,7 @@
ac.currentHeatingSetpoint = curTemp;
if (ac.currentSystemMode == 4)
{
- currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 鈩�";
+ mArcScaleSeekBar.Progress = ac.currentHeatingSetpoint;
}
ac.LastDateTime = DateTime.Now;
break;
@@ -193,7 +202,7 @@
ac.currentAutoSetpoint = curTemp;
if (ac.currentSystemMode == 1)
{
- currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 鈩�";
+ mArcScaleSeekBar.Progress = ac.currentAutoSetpoint;
}
ac.LastDateTime = DateTime.Now;
break;
@@ -210,7 +219,8 @@
modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode);
modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode);
currentModeBtn.Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode);
- currentTemperatureBtn.Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 鈩�";
+
+ mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac);
fanModeBtn.IsSelected = false;
FanSwingModeBtn.IsSelected = false;
@@ -222,12 +232,28 @@
modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode);
modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode);
currentModeBtn.Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode);
- currentTemperatureBtn.Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 鈩�";
+ mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac);
fanModeBtn.IsSelected = true;
FanSwingModeBtn.IsSelected = true;
}
break;
+
+ case 4097:
+ //杩囪檻缃戞竻娲楁爣蹇�:42
+ ac.CleanStatu = attriButeList[0].AttriButeData == 42;
+ cleanStatu.Visible = ac.CleanStatu;
+ break;
+
+ case 4099:
+ var value = Convert.ToString(attriButeList[0].AttriButeData, 2).PadLeft(16, '0');
+ var modeStr = value.Substring(value.Length - 5, 5);
+ for (int j = 0; j < modeStr.Length; j++)
+ {
+ ac.listSupportMode[j] = Convert.ToInt32(modeStr[j]) == 49 ? 1 : 0;
+ }
+ break;
+
}
}
@@ -250,7 +276,7 @@
fanModeBtn.UnSelectedImagePath = ACControlBase.GetFanModeUnSelectedImagePathByFanModeId(ac.currentFanMode);
break;
case 4096:
- //椋庢墖褰撳墠鐨勬壂椋庢ā寮�
+ //椋庢墖褰撳墠鐨勬壂椋庢ā寮�
ac.currentFanSwingMode = attriButeList[0].AttriButeData;
ac.LastDateTime = DateTime.Now;
FanSwingModeBtn.IsSelected = true;
@@ -331,6 +357,8 @@
{
BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor;
ZigBee.Device.ZbGateway.StatusList.Add(this);
+ HomePage.Instance.ScrollEnabled = false;
+
}
#endregion
@@ -346,6 +374,11 @@
//action();
//action = null;
RemoveUpdateControlDeviceStatuAction();
+ HomePage.Instance.ScrollEnabled = true;
+ if (IsDrawerLockMode)
+ {
+ CommonPage.Instance.IsDrawerLockMode = false;
+ }
base.RemoveFromParent();
}
@@ -385,6 +418,8 @@
ac.ReadFanMode();
ac.ReadSystemMode();
ac.ReadSystemFansSwingMode();
+ ac.ReadModeSupport();
+ ac.ReadCleanStatu();
});
}
else
@@ -400,6 +435,8 @@
ac.ReadFanMode();
ac.ReadSystemMode();
ac.ReadSystemFansSwingMode();
+ ac.ReadModeSupport();
+ ac.ReadCleanStatu();
}
}
@@ -413,9 +450,7 @@
collectionBtn.IsSelected = true;
}
-
BindEvent();
-
}
#endregion
@@ -435,16 +470,6 @@
RemoveFromParent();
};
- var sharedBtn = new Button
- {
- X = Application.GetRealWidth(850),
- Width = Application.GetMinReal(69),
- Height = Application.GetMinReal(69),
- Gravity = Gravity.CenterVertical,
- UnSelectedImagePath = "Item/Shared.png"
- };
- top.topView.AddChidren(sharedBtn);
-
var moreBtn = new Button
{
X = Application.GetRealWidth(953),
@@ -456,7 +481,6 @@
top.topView.AddChidren(moreBtn);
moreBtn.MouseUpEventHandler += More;
-
}
/// <summary>
/// AddBodyView
@@ -481,6 +505,11 @@
BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
};
bodyFrameLayout.AddChidren(itemView);
+
+ cleanStatu = new LeftIconButtonRow(400, 80, 0, 20);
+ itemView.AddChidren(cleanStatu);
+ cleanStatu.Init("AC/AC_TIP.png", "AC/AC_TIP.png", Language.StringByID(R.MyInternationalizationString.NeedCleanAC), false);
+ cleanStatu.Visible = false;
collectionBtn = new Button()
{
@@ -516,74 +545,67 @@
};
itemView.AddChidren(indoorTemperatureBtn);
-
- var controlBG = new FrameLayout()
+ mArcScaleSeekBar = new ArcScaleSeekBar
{
Y = Application.GetRealHeight(412),
- Height = Application.GetMinRealAverage(547),
- Width = Application.GetMinRealAverage(671),
+ Width = Application.GetRealWidth(671),
+ Height = Application.GetRealHeight(671),
Gravity = Gravity.CenterHorizontal,
- BackgroundImagePath = "AC/Group.png"
+ MinValue=ACControlBase.Temperature_Low,
+ MaxValue=ACControlBase.Temperature_High,
+ Progress=ACControlBase.GetCurrentModeTemperature(ac)
};
- itemView.AddChidren(controlBG);
-
- var controlBG2 = new Button()
+ itemView.AddChidren(mArcScaleSeekBar);
+ mArcScaleSeekBar.OnStopTrackingTouchEvent += (sender, e) =>
{
- Y = Application.GetRealHeight(873),
- Height = Application.GetMinRealAverage(121),
- Width = Application.GetMinRealAverage(351),
- UnSelectedImagePath = "AC/Path.png",
- Gravity = Gravity.CenterHorizontal
+ if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
+ {
+ ac.currentCoolingSetpoint = e;
+ ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100);
+ }
+ else if (ac.currentSystemMode == 4)
+ {
+ ac.currentHeatingSetpoint = e;
+ ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100);
+ }
+ else if (ac.currentSystemMode == 1)
+ {
+ ac.currentAutoSetpoint = e;
+ ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100);
+ }
};
- itemView.AddChidren(controlBG2);
- //褰撳墠妯″紡
+
currentModeBtn = new Button()
{
- Y = Application.GetRealHeight(187),
+ Y = Application.GetRealHeight(599),
Height = Application.GetRealHeight(80),
Width = Application.GetRealWidth(200),
TextColor = ZigbeeColor.Current.GXCTextBlackColor,
Gravity = Gravity.CenterHorizontal,
Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode)
};
- controlBG.AddChidren(currentModeBtn);
- //闄嶄綆娓╁害
+ itemView.AddChidren(currentModeBtn);
+
reduceTemperatureBtn = new Button()
{
- X = Application.GetRealWidth(112),
- Y = Application.GetRealHeight(268),
+ X = Application.GetRealWidth(268),
+ Y = Application.GetRealHeight(680),
Width = Application.GetMinRealAverage(80),
Height = Application.GetMinRealAverage(80),
UnSelectedImagePath = "AC/Reduce.png"
};
- controlBG.AddChidren(reduceTemperatureBtn);
+ itemView.AddChidren(reduceTemperatureBtn);
- //娓╁害
- currentTemperatureBtn = new Button()
- {
- //X = Application.GetRealWidth(239),
- Y = Application.GetRealHeight(248),
- Width = Application.GetRealWidth(180),
- Height = Application.GetRealHeight(100),
- TextColor = ZigbeeColor.Current.GXCTextBlackColor,
- TextSize = 15,
- Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 掳C",
- Gravity = Gravity.CenterHorizontal
- };
- controlBG.AddChidren(currentTemperatureBtn);
-
- //娣诲姞娓╁害
addTemperatureBtn = new Button()
{
- X = Application.GetRealWidth(472),
- Y = Application.GetRealHeight(268),
+ X = Application.GetRealWidth(628),
+ Y = Application.GetRealHeight(680),
Width = Application.GetMinRealAverage(80),
Height = Application.GetMinRealAverage(80),
UnSelectedImagePath = "AC/Add.png"
};
- controlBG.AddChidren(addTemperatureBtn);
+ itemView.AddChidren(addTemperatureBtn);
- //鎵
FanSwingModeBtn = new Button()
{
X = Application.GetRealWidth(156),
@@ -595,8 +617,7 @@
IsSelected = ACControlBase.IsOpen(ac)
};
itemView.AddChidren(FanSwingModeBtn);
-
- //妯″紡
+
modeBtn = new Button()
{
X = Application.GetRealWidth(346),
@@ -609,7 +630,6 @@
};
itemView.AddChidren(modeBtn);
- //寮�鍏�
switchBtn = new Button()
{
X = Application.GetRealWidth(536),
@@ -622,7 +642,6 @@
};
itemView.AddChidren(switchBtn);
- //椋庨��
fanModeBtn = new Button()
{
X = Application.GetRealWidth(729),
@@ -911,13 +930,13 @@
};
closeBGview.AddChidren(changeModeBG);
- var changeModeFL = new FrameLayout()
+ var changeModeFL = new VerticalScrolViewLayout()
{
X = Application.GetRealWidth(230),
Y = Application.GetRealHeight(450),
Height = Application.GetRealHeight(900),
Width = Application.GetRealWidth(modeItem_Width),
- Radius = CommonPage.BigFormRadius,
+ Radius = CommonFormResouce.BigFormRadius,
BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
//BackgroundIagePath="AC/SelectedModeBG.png"
};
@@ -941,7 +960,10 @@
Height = Application.GetRealHeight(modeItem_Height),
Tag = ZigBee.Device.AC.AcMode.Auto
};
- changeModeFL.AddChidren(mode_Auto);
+ if (ac.listSupportMode[4] == 1)
+ {
+ changeModeFL.AddChidren(mode_Auto);
+ }
mode_Auto.Init("AC/Mode_Auto.png", "AC/Mode_AutoSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Auto));
var mode_Cool = new CommonForm.ACLeftIconButtonRowLayout()
@@ -951,7 +973,10 @@
Height = Application.GetRealHeight(modeItem_Height),
Tag = ZigBee.Device.AC.AcMode.Cool
};
- changeModeFL.AddChidren(mode_Cool);
+ if (ac.listSupportMode[0] == 1)
+ {
+ changeModeFL.AddChidren(mode_Cool);
+ }
mode_Cool.Init("AC/Mode_Cool.png", "AC/Mode_CoolSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Cool));
var mode_Heat = new CommonForm.ACLeftIconButtonRowLayout()
@@ -961,7 +986,10 @@
Height = Application.GetRealHeight(modeItem_Height),
Tag = ZigBee.Device.AC.AcMode.Heat
};
- changeModeFL.AddChidren(mode_Heat);
+ if (ac.listSupportMode[1] == 1)
+ {
+ changeModeFL.AddChidren(mode_Heat);
+ }
mode_Heat.Init("AC/Mode_Heat.png", "AC/Mode_HeatSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Heat));
var mode_Dry = new CommonForm.ACLeftIconButtonRowLayout()
@@ -971,7 +999,10 @@
Height = Application.GetRealHeight(modeItem_Height),
Tag = ZigBee.Device.AC.AcMode.Dry
};
- changeModeFL.AddChidren(mode_Dry);
+ if (ac.listSupportMode[3] == 1)
+ {
+ changeModeFL.AddChidren(mode_Dry);
+ }
mode_Dry.Init("AC/Mode_Dry.png", "AC/Mode_DrySelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Dry));
var mode_Fan = new CommonForm.ACLeftIconButtonRowLayout()
@@ -981,8 +1012,12 @@
Height = Application.GetRealHeight(modeItem_Height),
Tag = ZigBee.Device.AC.AcMode.FanOnly
};
- changeModeFL.AddChidren(mode_Fan);
+ if (ac.listSupportMode[2] == 1)
+ {
+ changeModeFL.AddChidren(mode_Fan);
+ }
mode_Fan.Init("AC/Mode_Fan.png", "AC/Mode_FanSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_FanOnly), false);
+
mode_Auto.TitleButton.MouseUpEventHandler += ChangeMode_MouseUpEvent;
mode_Auto.IconButton.MouseUpEventHandler += ChangeMode_MouseUpEvent;
@@ -1075,15 +1110,13 @@
modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByMode(acMode);
currentModeBtn.Text = ACControlBase.GetModeNameByMode(acMode);
ac.currentSystemMode = (int)acMode;
- currentTemperatureBtn.Text = $"{ACControlBase.GetCurrentModeTemperature(ac)} 掳C";
+ mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac);
ac.SetSystemModeAsync(acMode);
-
-
}
#endregion
- #region 鈼� 鍒囨崲鎵___________________________
+ #region 鈼� 鍒囨崲鎵______________________
/// <summary>
@@ -1276,7 +1309,6 @@
mode = ZigBee.Device.AC.FanSwingMode.Fifth;
}
-
ChangeFanSwing(mode);
}
@@ -1316,7 +1348,6 @@
ACControlBase.ShowACIsCloseTip();
return;
}
- //cool //dry
if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
{
if (ac.currentCoolingSetpoint >= ACControlBase.Temperature_High)
@@ -1325,9 +1356,8 @@
}
ac.currentCoolingSetpoint += 1;
ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100);
- currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C";
+ mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint;
}
- //heat
else if (ac.currentSystemMode == 4)
{
if (ac.currentHeatingSetpoint >= ACControlBase.Temperature_High)
@@ -1336,9 +1366,8 @@
}
ac.currentHeatingSetpoint += 1;
ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100);
- currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C";
+ mArcScaleSeekBar.Progress = ac.currentHeatingSetpoint;
}
- //auto
else if (ac.currentSystemMode == 1)
{
if (ac.currentAutoSetpoint >= ACControlBase.Temperature_High)
@@ -1347,10 +1376,8 @@
}
ac.currentAutoSetpoint += 1;
ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100);
- currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C";
+ mArcScaleSeekBar.Progress = ac.currentAutoSetpoint;
}
-
-
}
#endregion
@@ -1369,7 +1396,6 @@
ACControlBase.ShowACIsCloseTip();
return;
}
- //cool //dry
if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
{
if (ac.currentCoolingSetpoint <= ACControlBase.Temperature_Low)
@@ -1378,10 +1404,8 @@
}
ac.currentCoolingSetpoint -= 1;
ac.SetCoolingTemperatureAsync(ac.currentCoolingSetpoint * 100);
-
- currentTemperatureBtn.Text = $"{ac.currentCoolingSetpoint} 掳C";
+ mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint;
}
- //heat
else if (ac.currentSystemMode == 4)
{
if (ac.currentHeatingSetpoint <= ACControlBase.Temperature_Low)
@@ -1390,10 +1414,8 @@
}
ac.currentHeatingSetpoint -= 1;
ac.SetHeatingTemperatureAsync(ac.currentHeatingSetpoint * 100);
-
- currentTemperatureBtn.Text = $"{ac.currentHeatingSetpoint} 掳C";
+ mArcScaleSeekBar.Progress = ac.currentHeatingSetpoint;
}
- //auto
else if (ac.currentSystemMode == 1)
{
if (ac.currentAutoSetpoint <= ACControlBase.Temperature_Low)
@@ -1402,15 +1424,13 @@
}
ac.currentAutoSetpoint -= 1;
ac.SetAutoTemperatureAsync(ac.currentAutoSetpoint * 100);
-
- currentTemperatureBtn.Text = $"{ac.currentAutoSetpoint} 掳C";
+ mArcScaleSeekBar.Progress = ac.currentAutoSetpoint;
}
-
}
#endregion
-
+
#region 鈼� 鎺у埗鍙嶉_________________________
@@ -1442,7 +1462,6 @@
/// </summary>
private void RemoveUpdateControlDeviceStatuAction()
{
- //绉婚櫎action
if (zbGateway != null)
{
zbGateway.ReportAction -= UpdateDeviceControllStatu;
@@ -1481,7 +1500,6 @@
/// <param name="e">E.</param>
private void Collection(object sender, MouseEventArgs e)
{
- //collection
if (collectionBtn.IsSelected)
{
Shared.Common.Room.Lists[0].DeleteDevice(device.FileName);
@@ -1506,7 +1524,6 @@
private void BackToRoomHandler(object sender, MouseEventArgs mouseEventArgs)
{
//backToRoom
-
}
#endregion
--
Gitblit v1.8.0