From 452e8cef1c740d18ee398be6971d9952e41dbd4a Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 12 四月 2023 16:11:50 +0800
Subject: [PATCH] 1
---
HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs | 1362 +++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 1,094 insertions(+), 268 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
index 582e49d..97c577b 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
@@ -1,4 +1,6 @@
锘縰sing System;
+using System.Collections.Generic;
+using HDL_ON.DriverLayer;
using HDL_ON.Entity;
using Shared;
@@ -12,30 +14,238 @@
/// </summary>
public class AcstParentPage : FrameLayout
{
- VerticalScrolViewLayout bodyView;
+ static AcstParentPage basePage;
+
+ VerticalScrolViewLayout contentView;
+
+ string helloText = "涓婂崍濂�";
+
+ #region 澶╂皵鎺т欢
+ Button btnOutdoorTemp;
+ Button btnWeather;
+ TextButton btnHumidityValues;
+ TextButton btnPm25Values;
+ #endregion
+
+ #region 浼犳劅鍣ㄣ�佽�楃數閲忕粍浠�
+ SensorDiyView sensorDiyView_Temp;
+ SensorDiyView sensorDiyView_Humi;
+ SensorDiyView sensorDiyView_Pm25;
+ SensorDiyView sensorDiyView_Co2;
+ SensorDiyView sensorDiyView_Tvoc;
+ SensorDiyView sensorDiyView_EleDay;
+ SensorDiyView sensorDiyView_EleMonth;
+ SensorDiyView sensorDiyView_EleActivePower;
+ #endregion
+ /// <summary>
+ /// 瀛愭帶鍖哄煙鍒楄〃
+ /// </summary>
+ Dictionary<string, AcstSubControlView> subViewList;
+
+
+ Button btnWorkSceneControl;
+
+ Button btnModeControl;
+ Button btnPowerControl;
+
+
+ public override void RemoveFromParent()
+ {
+ base.RemoveFromParent();
+ basePage = null;
+ }
+
Function function;
/// <summary>
/// 褰撳墠鏃舵棰滆壊
/// </summary>
uint curColor = CSS.CSS_Color.MainColor;
+ string imageFolder = "blue";
+
public AcstParentPage()
{
+ basePage = this;
+ var curTime = DateTime.Now;
+ if (Language.CurrentLanguage != "Chinese")
+ {
+ helloText = "Good morning";
+ }
+ if (curTime.Hour >= 8 && curTime.Hour < 12)
+ {
+ helloText = "涓婂崍濂�";
+ if (Language.CurrentLanguage != "Chinese")
+ {
+ helloText = "Good morning";
+ }
+ curColor = CSS.CSS_Color.MainColor;
+ imageFolder = "blue";
+ }
+ else if (curTime.Hour >= 12 && curTime.Hour < 18)
+ {
+ helloText = "涓嬪崍濂�";
+ if (Language.CurrentLanguage != "Chinese")
+ {
+ helloText = "Good afternoon";
+ }
+ curColor = 0xFFE7914F;
+ imageFolder = "orange";
+ }
+ else
+ {
+ helloText = "鏅氫笂濂�";
+ if (Language.CurrentLanguage != "Chinese")
+ {
+ helloText = "Good evening";
+ }
+
+ curColor = 0xFF9175F3;
+ imageFolder = "purple";
+ }
this.function = FunctionList.List.GetAcstParentList()[0];
this.BackgroundColor = CSS.CSS_Color.BackgroundColor;
- bodyView = new VerticalScrolViewLayout();
- this.AddChidren(bodyView);
-
-
-
-
+ //this.AddChidren(new Button() { Height = Application.GetRealHeight(50), BackgroundColor = curColor });
+ contentView = new VerticalScrolViewLayout() {
+ Height = Application.GetRealHeight(667 - 56),
+ };
+ this.AddChidren(contentView);
+ subViewList = new Dictionary<string, AcstSubControlView>();
}
-
+ /// <summary>
+ /// 鏇存柊澶╂皵淇℃伅
+ /// </summary>
public void InitGetWeatherAction()
{
- MainPage.CityWeatherAction = () => {
-
+ MainPage.CityWeatherAction = () =>
+ {
+ Application.RunOnMainThread(() =>
+ {
+ btnOutdoorTemp.Text = MainPage.cityInfo.temperature + "掳";
+ btnWeather.Text = MainPage.cityInfo.weather;
+ btnHumidityValues.Text = MainPage.cityInfo.humidity + "%";
+ btnHumidityValues.Width = btnHumidityValues.GetTextWidth() + Application.GetRealWidth(10);
+ btnPm25Values.Text = MainPage.cityInfo.pm25;
+ btnPm25Values.Width = btnPm25Values.GetTextWidth() + Application.GetRealWidth(10);
+ });
};
+ }
+ /// <summary>
+ /// 鏇存柊涓绘帶鏁版嵁淇℃伅
+ /// </summary>
+ public static void UpdateAcstParentInfo(Function temp)
+ {
+ try
+ {
+ if (basePage == null)
+ {
+ return;
+ }
+ Application.RunOnMainThread(() =>
+ {
+ if (basePage.sensorDiyView_Temp != null)
+ basePage.sensorDiyView_Temp.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.room_temp.ToString()).state, true);
+ if (basePage.sensorDiyView_Humi != null)
+ basePage.sensorDiyView_Humi.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.room_humidity.ToString()).state, true);
+ if (basePage.sensorDiyView_Pm25 != null)
+ basePage.sensorDiyView_Pm25.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.pm25.ToString()).state, false);
+ if (basePage.sensorDiyView_Co2 != null)
+ basePage.sensorDiyView_Co2.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.co2.ToString()).state, false);
+ if (basePage.sensorDiyView_Tvoc != null)
+ basePage.sensorDiyView_Tvoc.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.tvoc.ToString()).state, false);
+ if (basePage.sensorDiyView_EleDay != null)
+ basePage.sensorDiyView_EleDay.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.day_electricity.ToString()).state, false);
+ if (basePage.sensorDiyView_EleMonth != null)
+ basePage.sensorDiyView_EleMonth.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.month_electricity.ToString()).state, false);
+ if (basePage.sensorDiyView_EleActivePower != null)
+ basePage.sensorDiyView_EleActivePower.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.active_power.ToString()).state, false);
+
+
+
+ switch (temp.GetAttrState("mode"))
+ {
+ case "cool"://鍒跺喎
+ basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeCoolIcon2.png";
+ basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeCoolIcon2.png";
+ break;
+ case "heat"://鍒剁儹
+ basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHeatIcon2.png";
+ basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeHeatIcon2.png";
+ break;
+ case "fan"://閫氶
+ basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeFanIcon2.png";
+ basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeFanIcon2.png";
+ break;
+ case "dry"://闄ゆ箍
+ basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeDeHumiIcon2.png";
+ basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeDeHumiIcon2.png";
+ break;
+ case "humidity"://鍔犳箍
+ basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHumiIcon2.png";
+ basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeHumiIcon2.png";
+ break;
+ case "heat_humidity"://鍒剁儹鍔犳箍
+ basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHeatHumiIcon2.png";
+ basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeHeatHumiIcon2.png";
+ break;
+ }
+ switch (temp.GetAttrState("scene"))
+ {
+ case "at_home"://鍦ㄥ
+ basePage.btnWorkSceneControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneAtHome2.png";
+ basePage.btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/SceneAtHome2.png";
+ break;
+ case "leave_home"://绂诲
+ basePage.btnWorkSceneControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneAwayHomeIcon2.png";
+ basePage.btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/SceneAwayHomeIcon2.png";
+ break;
+ case "sleep"://鐫$湢
+ basePage.btnWorkSceneControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneSleepIcon2.png";
+ basePage.btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/SceneSleepIcon2.png";
+ break;
+ }
+ basePage.btnModeControl.IsSelected = basePage.btnWorkSceneControl.IsSelected = basePage.btnPowerControl.IsSelected = temp.GetAttrState("on_off") == "on";
+ });
+ }catch (Exception ex)
+ {
+ MainPage.Log("绉戞妧绯荤粺鏇存柊鏁版嵁澶辫触");
+ }
+ }
+
+
+ /// <summary>
+ /// 鏇存柊瀛愭帶淇℃伅
+ /// </summary>
+ /// <param name="temp"></param>
+ public static void UpdateAcstSubInfo(Function temp)
+ {
+ try
+ {
+ if (basePage == null)
+ {
+ return;
+ }
+ Application.RunOnMainThread(() =>
+ {
+ try
+ {
+ AcstSubControlView view = null;
+ basePage.subViewList.TryGetValue(temp.sid, out view);
+ if (view != null)
+ {
+ view.btnSubHumidityValues.Text = temp.GetAttrState(AcstSub_AttrEnum.room_humidity.ToString()) + "%";
+ view.btnSubTempValues.Text = temp.GetAttrState(AcstSub_AttrEnum.room_temp.ToString()) + "掳";
+ view.btnSubPower.IsSelected = temp.GetAttrState(AcstSub_AttrEnum.on_off.ToString()) == "on";
+ }
+ }
+ catch (Exception ex ) {
+ MainPage.Log($"绉戞妧绯荤粺鏇存柊寮傚父1:{ex.Message}");
+ }
+ });
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"绉戞妧绯荤粺鏇存柊寮傚父123:{ex.Message}");
+ }
}
public void LoadPage()
@@ -43,30 +253,32 @@
#region 澶撮儴淇℃伅鍖哄煙
FrameLayout topView = new FrameLayout()
{
- Height = Application.GetRealHeight(181),
- BackgroundColor = 0xFFb0eafa,
+ Height = Application.GetRealHeight(180),
+ BackgroundImagePath = $"FunctionIcon/Acst/{imageFolder}/TopViewBg.png",
};
- bodyView.AddChidren(topView);
+ contentView.AddChidren(topView);
var backView = new FrameLayout()
{
Y = Application.GetRealHeight(32),
Width = Application.GetRealWidth(100),
Height = Application.GetRealHeight(34),
- BackgroundColor = 0x33333333,
};
topView.AddChidren(backView);
Button btnBackIcon = new Button()
{
X = Application.GetRealWidth(16),
- Width = Application.GetRealWidth(40),
- Height = Application.GetRealWidth(28),
- UnSelectedImagePath = "Public/BackIcon.png",
+ Width = Application.GetRealWidth(12),
+ Height = Application.GetRealHeight(20),
+ UnSelectedImagePath = "FunctionIcon/Acst/BackIcon.png",
};
backView.AddChidren(btnBackIcon);
- btnBackIcon.MouseUpEventHandler = (sender, e) => {
+ Button btnBackClick = new Button();
+ backView.AddChidren(btnBackClick);
+
+ btnBackClick.MouseUpEventHandler = (sender, e) => {
this.RemoveFromParent();
};
@@ -77,25 +289,14 @@
Width = Application.GetRealWidth(200),
Height = Application.GetRealHeight(38),
TextSize = 20,
+ Text = helloText,
TextColor = 0xFFFFFFFF,
TextAlignment = TextAlignment.CenterLeft,
};
topView.AddChidren(btnHelloText);
- var curTime = DateTime.Now;
- if (curTime.Hour >= 8 && curTime.Hour < 12)
- {
- btnHelloText.Text = "涓婂崍濂�";
- }
- else if (curTime.Hour >= 12 && curTime.Hour < 18)
- {
- btnHelloText.Text = "涓嬪崍濂�";
- }
- else
- {
- btnHelloText.Text = "鏅氫笂濂�";
- }
- var btnOutdoorTemp = new Button()
+
+ btnOutdoorTemp = new Button()
{
X = Application.GetRealWidth(25),
Y = Application.GetRealHeight(90),
@@ -108,7 +309,7 @@
};
topView.AddChidren(btnOutdoorTemp);
- var btnWeather = new Button()
+ btnWeather = new Button()
{
X = btnOutdoorTemp.Right,
Y = Application.GetRealHeight(95),
@@ -120,8 +321,6 @@
TextAlignment = TextAlignment.CenterLeft,
};
topView.AddChidren(btnWeather);
-
-
var environmentalView = new FrameLayout()
@@ -141,7 +340,7 @@
};
environmentalView.AddChidren(btnHumidityIcon);
- var btnHumidityValues = new TextButton()
+ btnHumidityValues = new TextButton()
{
X = btnHumidityIcon.Right + Application.GetRealWidth(4),
Gravity = Gravity.CenterVertical,
@@ -163,7 +362,7 @@
};
environmentalView.AddChidren(btnPm25Icon);
- var btnPm25Values = new TextButton()
+ btnPm25Values = new TextButton()
{
X = btnPm25Icon.Right + Application.GetRealWidth(4),
Gravity = Gravity.CenterVertical,
@@ -178,38 +377,22 @@
#endregion
- bodyView.AddChidren(new Button
+ contentView.AddChidren(new Button
{
Height = Application.GetRealHeight(8),
});
#region 鏁版嵁
- var infoView = new FrameLayout()
- {
- Y = topView.Bottom,
- Height = Application.GetRealHeight(104),
- BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
- };
- bodyView.AddChidren(infoView);
- var infoContentView = new FrameLayout()
- {
- Gravity = Gravity.Center,
- Width = Application.GetRealWidth(343),
- Height = Application.GetRealHeight(72),
- BackgroundColor = 0x22222222,
- };
- infoView.AddChidren(infoContentView);
-
- #region 浼犳劅鍣ㄦ暟鎹�
+ #region 浼犳劅鍣ㄦ暟鎹�昏
int sensorCount = 0;
var tempObj = function.GetAttribute(AcstParent_AttrEnum.room_temp.ToString());
- if(tempObj!= null)
+ if (tempObj != null)
{
sensorCount++;
}
var humiObj = function.GetAttribute(AcstParent_AttrEnum.room_humidity.ToString());
- if(humiObj != null)
+ if (humiObj != null)
{
sensorCount++;
}
@@ -228,38 +411,16 @@
{
sensorCount++;
}
-
- var sensorListView = new HorizontalScrolViewLayout()
- {
- Width = Application.GetRealWidth(60 * sensorCount),
- Gravity = Gravity.Center,
- };
- infoContentView.AddChidren(sensorListView);
-
- if (tempObj != null)
- {
- new SensorDiyView(sensorListView, curColor, tempObj.curValue.ToString() + "掳", "娓╁害");
- }
- if (humiObj != null)
- {
- new SensorDiyView(sensorListView, curColor, humiObj.curValue.ToString() + "%", "婀垮害");
- }
- if (pm25Obj != null)
- {
- new SensorDiyView(sensorListView, curColor, pm25Obj.curValue.ToString(), "PM2.5");
- }
- if (co2Obj != null)
- {
- new SensorDiyView(sensorListView, curColor, co2Obj.curValue.ToString(), "CO2");
- }
- if (tvocObj != null)
- {
- new SensorDiyView(sensorListView, curColor, tvocObj.curValue.ToString(), "TVOC");
- }
#endregion
- #region 鑳借�楁暟鎹�
+
+ #region 鑳借�楁暟鎹粺璁�
int energyCount = 0;
+ var totalObj = function.GetAttribute(AcstParent_AttrEnum.active_power.ToString());
+ if (totalObj != null)
+ {
+ energyCount++;
+ }
var dayObj = function.GetAttribute(AcstParent_AttrEnum.day_electricity.ToString());
if (dayObj != null)
{
@@ -270,85 +431,180 @@
{
energyCount++;
}
- var totalObj = function.GetAttribute(AcstParent_AttrEnum.total_electricity.ToString());
- if (totalObj != null)
- {
- energyCount++;
- }
-
- var energyListView = new HorizontalScrolViewLayout()
- {
- Width = Application.GetRealWidth(60 * energyCount),
- Gravity = Gravity.Center,
- Visible = false,
- };
- infoContentView.AddChidren(energyListView);
- if (dayObj != null)
- {
- new SensorDiyView(energyListView, curColor, dayObj.curValue.ToString(), "浠婃棩鑰楃數");
- }
- if (monthObj != null)
- {
- new SensorDiyView(energyListView, curColor, monthObj.curValue.ToString(), "鏈湀鑰楃數");
- }
- if (totalObj != null)
- {
- new SensorDiyView(energyListView, curColor, totalObj.curValue.ToString(), "鎬昏�楃數閲�");
- }
-
- var btnChangeClick = new Button();
- infoView.AddChidren(btnChangeClick);
-
- bool showSensor = true;
- EventHandler<MouseEventArgs> changeInfoEvent = (sender, e) => {
- if (showSensor)
- {
- sensorListView.Visible = false;
- showSensor = false;
- energyListView.Visible = true;
- }
- else
- {
- sensorListView.Visible = true;
- showSensor = true;
- energyListView.Visible = false;
- }
- };
- btnChangeClick.MouseUpEventHandler = changeInfoEvent;
-
-
#endregion
+ if (energyCount > 0 || sensorCount > 0)
+ {
+ var infoView = new FrameLayout()
+ {
+ Y = topView.Bottom,
+ Height = Application.GetRealHeight(104),
+ BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
+ };
+ contentView.AddChidren(infoView);
+
+ var infoContentView = new FrameLayout()
+ {
+ Gravity = Gravity.Center,
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealHeight(72),
+ BackgroundImagePath = $"FunctionIcon/Acst/{imageFolder}/MsgViewBg.png",
+ };
+ infoView.AddChidren(infoContentView);
+
+ #region 浼犳劅鍣ㄦ暟鎹�
+
+ var sensorListView = new HorizontalScrolViewLayout()
+ {
+ Width = Application.GetRealWidth(60 * sensorCount),
+ Gravity = Gravity.Center,
+ };
+ if (sensorCount > 0)
+ {
+ infoContentView.AddChidren(sensorListView);
+ }
+
+ if (tempObj != null)
+ {
+ string tempValues = tempObj.state == "" ? "--" : tempObj.state;
+ if (tempValues.Contains("."))
+ {
+ tempValues = tempValues.Remove(tempValues.IndexOf('.'), tempValues.Length - tempValues.IndexOf('.'));
+ }
+ sensorDiyView_Temp = new SensorDiyView(sensorListView, curColor, tempValues, "掳","", Language.StringByID(StringId.Temp));
+ }
+ if (humiObj != null)
+ {
+ string humiValues = humiObj.state == "" ? "--" : humiObj.state;
+ if (humiValues.Contains("."))
+ {
+ humiValues = humiValues.Remove(humiValues.IndexOf('.'), humiValues.Length - humiValues.IndexOf('.'));
+ }
+ sensorDiyView_Humi = new SensorDiyView(sensorListView, curColor, humiValues , "%", "", Language.StringByID(StringId.Humidity));
+ }
+ if (pm25Obj != null)
+ {
+ sensorDiyView_Pm25 = new SensorDiyView(sensorListView, curColor, pm25Obj.state == "" ? "--" : pm25Obj.state, "", "", "PM2.5");
+ }
+ if (co2Obj != null)
+ {
+ sensorDiyView_Co2 = new SensorDiyView(sensorListView, curColor, co2Obj.state == "" ? "--" : co2Obj.state, "", "", "CO2");
+ }
+ if (tvocObj != null)
+ {
+ sensorDiyView_Tvoc = new SensorDiyView(sensorListView, curColor, tvocObj.state == "" ? "--" : tvocObj.state, "", "", "TVOC");
+ }
+ #endregion
+
+ #region 鑳借�楁暟鎹�
+ var energyListView = new HorizontalScrolViewLayout()
+ {
+ Width = Application.GetRealWidth(100 * energyCount),
+ Gravity = Gravity.Center,
+ Visible = sensorCount == 0
+ };
+ if (energyCount > 0)
+ {
+ infoContentView.AddChidren(energyListView);
+ }
+ if (totalObj != null)
+ {
+ string text = "鐢ㄧ數鍔熺巼";
+ if (Language.CurrentLanguage != "Chinese")
+ {
+ text = "Power";
+ }
+ sensorDiyView_EleActivePower = new SensorDiyView(energyListView, curColor, totalObj.state == "" ? "--" : totalObj.state, "", "KW", text, 100);
+ }
+ if (dayObj != null)
+ {
+ string text = "浠婃棩鑰楃數";
+ if (Language.CurrentLanguage != "Chinese")
+ {
+ text = "Power of today";
+ }
+ sensorDiyView_EleDay = new SensorDiyView(energyListView, curColor, dayObj.state == "" ? "--" : dayObj.state, "", "KWh", text, 100);
+ }
+ if (monthObj != null)
+ {
+ string text = "鏈湀鑰楃數";
+ if (Language.CurrentLanguage != "Chinese")
+ {
+ text = "Power of month";
+ }
+ sensorDiyView_EleMonth = new SensorDiyView(energyListView, curColor, monthObj.state == "" ? "--" : monthObj.state, "", "KWh", text, 100);
+ }
+
+
+ var btnChangeClick = new Button();
+ infoView.AddChidren(btnChangeClick);
+
+ bool showSensor = true;
+ EventHandler<MouseEventArgs> changeInfoEvent = (sender, e) =>
+ {
+ if (showSensor)
+ {
+ sensorListView.Visible = false;
+ showSensor = false;
+ energyListView.Visible = true;
+ }
+ else
+ {
+ sensorListView.Visible = true;
+ showSensor = true;
+ energyListView.Visible = false;
+ }
+ };
+ if (sensorCount > 0 && energyCount > 0)
+ {
+ btnChangeClick.MouseUpEventHandler = changeInfoEvent;
+ }
+
+ #endregion
+ }
#endregion
#region 瀛愭帶鍒楄〃
var subTitleView = new FrameLayout()
{
- Height = Application.GetRealHeight(54),
+ Height = Application.GetRealHeight(54-11),
};
- bodyView.AddChidren(subTitleView);
+ contentView.AddChidren(subTitleView);
var btnCollection = new Button()
{
X = Application.GetRealWidth(6),
- Gravity = Gravity.CenterVertical,
+ Y = Application.GetRealHeight(10),
Width = Application.GetRealWidth(39),
- Height = Application.GetRealHeight(39),
- UnSelectedImagePath = "Function/Acst/CollectionIcon_bule.png",
+ Height = Application.GetRealWidth(39),
+ IsSelected = function.collect,
+ UnSelectedImagePath = "FunctionIcon/Acst/grey/CollectionIcon.png",
+ SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/CollectionIcon.png",
};
subTitleView.AddChidren(btnCollection);
+ //鏀惰棌
+ btnCollection.MouseUpEventHandler = (sender, e) => {
+ function.collect = !function.collect;
+ btnCollection.IsSelected = function.collect;
- var btnTitleText = new Button()
+ //var http = new DAL.Server.HttpServerRequest();
+ //http.CollectDevice(function.deviceId);
+ function.CollectFunction();
+
+ };
+
+ var btnTitleText2 = new Button()
{
X = btnCollection.Right,
- Text = "鎴戠殑瀹跺涵",
+ TextID = StringId.MyHome,
TextSize = 16,
TextColor = 0xFF242424,
TextAlignment = TextAlignment.CenterLeft,
IsBold = true,
+ Height = Application.GetRealHeight(54),
};
- subTitleView.AddChidren(btnTitleText);
+ subTitleView.AddChidren(btnTitleText2);
int subFunctionCount = 0;
@@ -356,117 +612,59 @@
{
Height = Application.GetRealHeight(88),
};
- bodyView.AddChidren(subFunctionListView);
+ contentView.AddChidren(subFunctionListView);
- foreach(var sub in FunctionList.List.GetAcstSubList())
+
+ subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(9) });
+ new System.Threading.Thread(() =>
{
- if(subFunctionCount > 0 && subFunctionCount % 2 == 0)
+ try
{
- subFunctionListView = new HorizontalScrolViewLayout()
+#if DEBUG
+ System.Threading.Thread.Sleep(200);
+#endif
+
+ foreach (var sub in FunctionList.List.GetAcstSubList())
{
- Height = Application.GetRealHeight(88),
- };
- bodyView.AddChidren(subFunctionListView);
+ if (subViewList.ContainsKey(sub.sid))
+ {
+ continue;
+ }
+
+ Application.RunOnMainThread(() =>
+ {
+ if (subFunctionCount > 0 && subFunctionCount % 2 == 0)
+ {
+ subFunctionListView = new HorizontalScrolViewLayout()
+ {
+ Height = Application.GetRealHeight(93),
+ };
+ contentView.AddChidren(subFunctionListView);
+ subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(9) });
+ }
+
+ AcstSubControlView subFunctionView = new AcstSubControlView(sub, subFunctionListView, imageFolder);
+ subViewList.Add(sub.sid, subFunctionView);
+ if (basePage != null)
+ {
+ new System.Threading.Thread(() =>
+ {
+ Control.Ins.SendReadCommand(sub);
+ })
+ { IsBackground = true }.Start();
+ }
+ subFunctionCount++;
+ });
+
+ System.Threading.Thread.Sleep(10);
+ }
}
-
- subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(16) });
-
- var subFunctionView = new FrameLayout() {
- Width = Application.GetRealWidth(164),
- Height = Application.GetRealHeight(72),
- BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
- };
- subFunctionListView.AddChidren(subFunctionView);
-
- var btnRoomInfo = new Button()
- {
- X = Application.GetRealWidth(18),
- Height = Application.GetRealHeight(40),
- TextAlignment = TextAlignment.CenterLeft,
- TextColor = 0xFF1b3053,
- TextSize = 13,
- Text = sub.GetRoomListName(),
- };
- subFunctionView.AddChidren(btnRoomInfo);
-
-
- var btnSubTempIcon = new Button()
- {
- X = Application.GetRealWidth(16),
- Y = Application.GetRealHeight(47),
- Width = Application.GetMinRealAverage(11),
- Height = Application.GetMinRealAverage(11),
- UnSelectedImagePath = "FunctionIcon/CAC/HvacCacTempIcon.png",
- };
- subFunctionView.AddChidren(btnSubTempIcon);
- var btnSubTempValues = new TextButton()
- {
- X = btnSubTempIcon.Right,
- Y = Application.GetRealHeight(45),
- Height = Application.GetRealHeight(14),
- Width = Application.GetRealWidth(22),
- TextColor =0xFF1b3035,
- TextSize = 10,
- Text = sub.GetAttrState(AcstSub_AttrEnum.room_temp.ToString()) + "掳C",
- TextAlignment = TextAlignment.CenterLeft,
- };
- subFunctionView.AddChidren(btnSubTempValues);
-
- Button btnSubHumidityIcon = new Button()
- {
- X = btnSubTempValues.Right + Application.GetRealWidth(5),
- Y = Application.GetRealHeight(47),
- Width = Application.GetMinRealAverage(11),
- Height = Application.GetMinRealAverage(11),
- UnSelectedImagePath = "FunctionIcon/CAC/HvacCacHumidityIcon.png",
- };
- subFunctionView.AddChidren(btnSubHumidityIcon);
-
- var btnSubHumidityValues = new TextButton()
- {
- X = btnSubHumidityIcon.Right,
- Y = Application.GetRealHeight(45),
- Height = Application.GetRealHeight(14),
- Width = Application.GetRealWidth(22),
- TextColor = 0xFF1b3053,
- TextSize = 10,
- Text = sub.GetAttrState(AcstSub_AttrEnum.room_humidity.ToString()) + "%",
- TextAlignment = TextAlignment.CenterLeft,
- };
- subFunctionView.AddChidren(btnSubHumidityValues);
-
-
- var btnSubPower = new Button()
- {
- X = Application.GetRealWidth(121),
- Gravity = Gravity.CenterVertical,
- Width = Application.GetRealWidth(28),
- Height = Application.GetRealWidth(28),
- BackgroundColor = curColor,
- Text = "寮�鍏�",
- TextAlignment = TextAlignment.Center,
- };
- subFunctionView.AddChidren(btnSubPower);
-
-
-
- subFunctionCount++;
- }
-
+ catch { }
+ finally{
+
+ }
+ }).Start();
#endregion
-
-
-
-
-
-
-
-
-
- bodyView.AddChidren(new Button()
- {
- Height = Application.GetRealHeight(72),
- });
#region 搴曢儴鎺у埗鏍�
@@ -478,45 +676,474 @@
};
this.AddChidren(bottomView);
- var btnModeControl = new Button()
+ btnModeControl = new Button()
{
X = Application.GetRealWidth(89),
Gravity = Gravity.CenterVertical,
Width = Application.GetRealWidth(38),
Height = Application.GetRealWidth(38),
- BackgroundColor = curColor,
- Text = "妯″紡",
+ UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeCoolIcon2.png",
+ SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeCoolIcon2.png",
TextAlignment = TextAlignment.Center,
+ IsSelected = function.trait_on_off.state == "on"
};
bottomView.AddChidren(btnModeControl);
- btnModeControl.MouseUpEventHandler = (sender, e) =>
+ btnModeControl.MouseUpEventHandler = (sender3, e3) =>
{
+ //if(function.trait_on_off.state == "off")
+ //{
+ // return;
+ //}
+ Dialog dialog = new Dialog();
+ var dialogView = new FrameLayout();
+ dialog.AddChidren(dialogView);
+ dialogView.MouseUpEventHandler = (sender, e) => {
+ dialog.Close();
+ };
+
+ var dialogContentView = new VerticalScrolViewLayout() {
+ X = Application.GetRealWidth(34),
+ Y = Application.GetRealHeight(291),
+ Width = Application.GetRealWidth(148),
+ Height = Application.GetRealHeight(319),
+ BackgroundImagePath = "FunctionIcon/Acst/BgChooseMode.png",
+ };
+ dialogView.AddChidren(dialogContentView);
+
+ var titleView = new FrameLayout() {
+ X = Application.GetRealWidth(2),
+ Y = Application.GetRealHeight(3),
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(titleView);
+ var btnTitleText = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Width = Application.GetRealWidth(100),
+ TextID = StringId.SelectMode,
+ TextSize = 16,
+ TextColor = CSS.CSS_Color.FirstLevelTitleColor,
+ IsBold = true,
+ TextAlignment = TextAlignment.CenterLeft,
+ };
+ titleView.AddChidren(btnTitleText);
+
+ if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.cool.ToString()))
+ {
+ #region 鍒跺喎
+ var coolView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(coolView);
+ coolView.AddChidren(new Button
+ {
+ Width = Application.GetRealWidth(112),
+ Gravity = Gravity.CenterHorizontal,
+ Height = 1,
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+ IconButton coolIconButton = new IconButton("FunctionIcon/Acst/grey/ModeCoolIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeCoolIcon.png",
+ Language.StringByID(StringId.Cool), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == "cool");
+ coolIconButton.Click(() =>
+ {
+ dialog.Close();
+ btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeCoolIcon2.png";
+ new System.Threading.Thread(() =>
+ {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add(AcstParent_AttrEnum.mode.ToString(), AcstParent_Attr_ModeValueEnum.cool.ToString());
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ coolView.AddChidren(coolIconButton);
+ #endregion
+ }
+
+ if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.heat.ToString()))
+ {
+ #region 鍒剁儹
+ var heatView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(heatView);
+ heatView.AddChidren(new Button
+ {
+ Width = Application.GetRealWidth(112),
+ Gravity = Gravity.CenterHorizontal,
+ Height = 1,
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+ IconButton heatIconButton = new IconButton("FunctionIcon/Acst/grey/ModeHeatIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeHeatIcon.png",
+ Language.StringByID(StringId.Heat), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == "heat");
+ heatIconButton.Click(() =>
+ {
+ dialog.Close();
+ btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeHeatIcon2.png";
+ new System.Threading.Thread(() =>
+ {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add("mode", "heat");
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ heatView.AddChidren(heatIconButton);
+ #endregion
+ }
+
+ if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.fan.ToString()))
+ {
+ #region 閫氶
+ var fanView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(fanView);
+ fanView.AddChidren(new Button
+ {
+ Width = Application.GetRealWidth(112),
+ Gravity = Gravity.CenterHorizontal,
+ Height = 1,
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+ IconButton fanIconButton = new IconButton("FunctionIcon/Acst/grey/ModeFanIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeFanIcon.png",
+ Language.StringByID(StringId.Ventilated), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == AcstParent_Attr_ModeValueEnum.fan.ToString());
+ fanIconButton.Click(() =>
+ {
+ btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeFanIcon2.png";
+ dialog.Close();
+ new System.Threading.Thread(() =>
+ {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add("mode", AcstParent_Attr_ModeValueEnum.fan.ToString());
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ fanView.AddChidren(fanIconButton);
+ #endregion
+ }
+
+ if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.dry.ToString()))
+ {
+ #region 闄ゆ箍
+ var dehumiView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(dehumiView);
+ dehumiView.AddChidren(new Button
+ {
+ Width = Application.GetRealWidth(112),
+ Gravity = Gravity.CenterHorizontal,
+ Height = 1,
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+ IconButton dehumiIconButton = new IconButton("FunctionIcon/Acst/grey/ModeDeHumiIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeDeHumiIcon.png",
+ Language.StringByID(StringId.Dry), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == AcstParent_Attr_ModeValueEnum.dry.ToString());
+ dehumiIconButton.Click(() =>
+ {
+ btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeDeHumiIcon2.png";
+ dialog.Close();
+ new System.Threading.Thread(() =>
+ {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add("mode", AcstParent_Attr_ModeValueEnum.dry.ToString());
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ dehumiView.AddChidren(dehumiIconButton);
+ #endregion
+ }
+ if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.heat_humidity.ToString()))
+ {
+
+ #region 鍒剁儹闄ゆ箍
+ var heatHumiView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(heatHumiView);
+ heatHumiView.AddChidren(new Button
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Width = Application.GetRealWidth(112),
+ Height = 1,
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+ IconButton heatHumiIconButton = new IconButton("FunctionIcon/Acst/grey/ModeHeatHumiIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeHeatHumiIcon.png",
+ Language.StringByID(StringId.HeatingAndDehumidification), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == AcstParent_Attr_ModeValueEnum.heat_humidity.ToString());
+ heatHumiIconButton.Click(() =>
+ {
+ btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeHeatHumiIcon2.png";
+ dialog.Close();
+ new System.Threading.Thread(() =>
+ {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add("mode", AcstParent_Attr_ModeValueEnum.heat_humidity.ToString());
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ heatHumiView.AddChidren(heatHumiIconButton);
+ #endregion
+ }
+
+ if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.humidity.ToString()))
+ {
+ #region 鍔犳箍
+ var humiView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(humiView);
+ humiView.AddChidren(new Button
+ {
+ Width = Application.GetRealWidth(112),
+ Gravity = Gravity.CenterHorizontal,
+ Height = 1,
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+ IconButton humiIconButton = new IconButton("FunctionIcon/Acst/grey/ModeHumiIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeHumiIcon.png",
+ Language.StringByID(StringId.Humidification), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == AcstParent_Attr_ModeValueEnum.humidity.ToString());
+ humiIconButton.Click(() =>
+ {
+ btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeHumiIcon2.png";
+ dialog.Close();
+ new System.Threading.Thread(() =>
+ {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add("mode", AcstParent_Attr_ModeValueEnum.humidity.ToString());
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ humiView.AddChidren(humiIconButton);
+ #endregion
+ }
+
+ dialog.Show();
};
- var btnPowerControl = new Button()
+ btnPowerControl = new Button()
{
Gravity = Gravity.Center,
Width = Application.GetRealWidth(38),
Height = Application.GetRealWidth(38),
- BackgroundColor = curColor,
- Text = "寮�鍏�",
+ UnSelectedImagePath = "FunctionIcon/Acst/grey/PowerOffIcon.png",
+ SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/PowerIcon.png",
TextAlignment = TextAlignment.Center,
+ IsSelected = function.trait_on_off.state == "on"
};
bottomView.AddChidren(btnPowerControl);
+ btnPowerControl.MouseUpEventHandler = (sender, e) =>
+ {
+ string msg = btnPowerControl.IsSelected ? "纭畾鍏抽棴鎬诲紑鍏冲悧锛�" : "纭畾鎵撳紑鎬诲紑鍏冲悧锛�";
+ new PublicAssmebly().TipOptionMsg(StringId.Tip, msg, () =>
+ {
+ btnPowerControl.IsSelected = !btnPowerControl.IsSelected;
+
+ new System.Threading.Thread(() =>
+ {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.OnOff, btnPowerControl.IsSelected ? "on" : "off");
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ };
- var btnWorkSceneControl = new Button()
+ btnWorkSceneControl = new Button()
{
Gravity = Gravity.CenterVertical,
X = Application.GetRealWidth(249),
Width = Application.GetRealWidth(38),
Height = Application.GetRealWidth(38),
- BackgroundColor = curColor,
- Text = "鍦烘櫙",
+ UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneSleepIcon2.png",
+ SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneSleepIcon2.png",
TextAlignment = TextAlignment.Center,
+ IsSelected = function.trait_on_off.state == "on"
};
bottomView.AddChidren(btnWorkSceneControl);
+
+
+ btnWorkSceneControl.MouseUpEventHandler = (sender2, e2) =>
+ {
+ //if (function.trait_on_off.state == "off")
+ //{
+ // return;
+ //}
+ Dialog dialog = new Dialog();
+
+ var dialogView = new FrameLayout();
+ dialog.AddChidren(dialogView);
+ dialogView.MouseUpEventHandler = (sender, e) => {
+ dialog.Close();
+ };
+
+ var dialogContentView = new VerticalScrolViewLayout()
+ {
+ X = Application.GetRealWidth(194),
+ Y = Application.GetRealHeight(419),
+ ScrollEnabled = false,
+ Width = Application.GetRealWidth(148),
+ Height = Application.GetRealHeight(191),
+ BackgroundImagePath = "FunctionIcon/Acst/BgChooseScene.png",
+ };
+ dialogView.AddChidren(dialogContentView);
+
+ var titleView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ Y = Application.GetRealHeight(3),
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(titleView);
+ var btnTitleText = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Width = Application.GetRealWidth(100),
+ TextID = StringId.SelectScene,
+ TextSize = 16,
+ TextColor = CSS.CSS_Color.FirstLevelTitleColor,
+ IsBold = true,
+ TextAlignment = TextAlignment.CenterLeft,
+ };
+ titleView.AddChidren(btnTitleText);
+
+ if (function.GetAttribute(AcstParent_AttrEnum.scene.ToString()).value.Contains(AcstParent_Attr_SceneValueEnum.at_home.ToString()))
+ {
+ #region 鍦ㄥ
+ var atHomeView = new VerticalScrolViewLayout()
+ {
+ X = Application.GetRealWidth(2),
+ //Y = titleView.Bottom,
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(atHomeView);
+ atHomeView.AddChidren(new Button
+ {
+ Width = Application.GetRealWidth(112),
+ Gravity = Gravity.CenterHorizontal,
+ Height = 1,
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+
+ IconButton atHomeIconButton = new IconButton("FunctionIcon/Acst/grey/SceneAtHome.png", $"FunctionIcon/Acst/{imageFolder}/SceneAtHome.png",
+ Language.StringByID(StringId.AtHome), curColor, function.GetAttrState(AcstParent_AttrEnum.scene.ToString()) == AcstParent_Attr_SceneValueEnum.at_home.ToString());
+ atHomeIconButton.Click(() =>
+ {
+ btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneAtHome2.png";
+ dialog.Close();
+ new System.Threading.Thread(() =>
+ {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add(AcstParent_AttrEnum.scene.ToString(), AcstParent_Attr_SceneValueEnum.at_home.ToString());
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ atHomeView.AddChidren(atHomeIconButton);
+ #endregion
+ }
+
+
+ if (function.GetAttribute(AcstParent_AttrEnum.scene.ToString()).value.Contains(AcstParent_Attr_SceneValueEnum.leave_home.ToString()))
+ {
+ #region 绂诲
+ var awayHomeView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ //Y = atHomeView.Bottom,
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(awayHomeView);
+ awayHomeView.AddChidren(new Button
+ {
+ Width = Application.GetRealWidth(112),
+ Gravity = Gravity.CenterHorizontal,
+ Height = 1,
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+ IconButton awayHomeIconButton = new IconButton("FunctionIcon/Acst/grey/SceneAwayHomeIcon.png", $"FunctionIcon/Acst/{imageFolder}/SceneAwayHomeIcon.png",
+ Language.StringByID(StringId.AwayHome), curColor, function.GetAttrState(AcstParent_AttrEnum.scene.ToString()) == AcstParent_Attr_SceneValueEnum.leave_home.ToString());
+ awayHomeIconButton.Click(() =>
+ {
+ btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneAwayHomeIcon2.png";
+ dialog.Close();
+ new System.Threading.Thread(() =>
+ {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add("scene", "leave_home");
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ awayHomeView.AddChidren(awayHomeIconButton);
+ #endregion
+ }
+
+
+ if (function.GetAttribute(AcstParent_AttrEnum.scene.ToString()).value.Contains(AcstParent_Attr_SceneValueEnum.sleep.ToString()))
+ {
+
+ #region 鐫$湢
+ var sleepView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ //Y = awayHomeView.Bottom,
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(sleepView);
+ sleepView.AddChidren(new Button
+ {
+ Height = 1,
+ Gravity = Gravity.CenterHorizontal,
+ Width = Application.GetRealWidth(112),
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+ IconButton sleepIconButton = new IconButton("FunctionIcon/Acst/grey/SceneSleepIcon.png", $"FunctionIcon/Acst/{imageFolder}/SceneSleepIcon.png",
+ Language.StringByID(StringId.Sleep), curColor, function.GetAttrState(AcstParent_AttrEnum.scene.ToString()) == AcstParent_Attr_SceneValueEnum.sleep.ToString());
+ sleepIconButton.Click(() =>
+ {
+ btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneSleepIcon2.png";
+ dialog.Close();
+ new System.Threading.Thread(() =>
+ {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add("scene", "sleep");
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ sleepView.AddChidren(sleepIconButton);
+ }
+ #endregion
+ dialog.Show();
+ };
@@ -524,12 +1151,13 @@
#endregion
-
-
-
-
-
InitGetWeatherAction();
+
+ new System.Threading.Thread(() =>
+ {
+ Control.Ins.SendReadCommand(function);
+ })
+ { IsBackground = true }.Start();
}
@@ -537,19 +1165,31 @@
}
-
+ /// <summary>
+ /// 浼犳劅鍣ㄦ暟鎹粍浠�
+ /// </summary>
public class SensorDiyView
{
private FrameLayout contentView;
private Button btnValue;
private Button btnText;
public string Tag;
+ public string unitString;
- public SensorDiyView(HorizontalScrolViewLayout view,uint color,string value,string text)
+ public SensorDiyView(HorizontalScrolViewLayout view,uint color,string value,string unitStr, string unitStr2, string text,int setWidth = 60)
{
+ unitString = unitStr;
+ if (string.IsNullOrEmpty(value))
+ {
+ value = "--";
+ }
+
+ ///榛樿Tag 涓轰紶杩涙潵鐨凾ext
+ Tag = text;
+
contentView = new FrameLayout()
{
- Width = Application.GetRealWidth(60),
+ Width = Application.GetRealWidth(setWidth),
Height = Application.GetRealHeight(72),
};
view.AddChidren(contentView);
@@ -561,7 +1201,7 @@
TextAlignment = TextAlignment.Center,
TextColor = color,
TextSize = 20,
- Text = value,
+ Text = value + unitString,
};
contentView.AddChidren(btnValue);
@@ -572,14 +1212,200 @@
TextAlignment = TextAlignment.Center,
TextColor = 0xFF949AA5,
TextSize = 12,
- Text = text,
+ Text = text ,
};
contentView.AddChidren(btnText);
+
+ if(!string.IsNullOrEmpty(unitStr2))
+ {
+ btnText.Text += "(" + unitStr2 + ")";
+ }
+
+
}
- public void UpdateValue(string value)
+ public void UpdateValue(string value,bool isInt)
{
- btnText.Text = value;
+ if (value.Contains(".") && isInt)
+ {
+ value = value.Remove(value.IndexOf('.'), value.Length - value.IndexOf('.'));
+ }
+ btnValue.Text = value + unitString;
+ }
+ }
+
+ /// <summary>
+ /// 瀛愭帶鍗$墖缁勪欢
+ /// </summary>
+ public class AcstSubControlView
+ {
+ public TextButton btnSubTempValues;
+ public TextButton btnSubHumidityValues;
+ public Button btnSubPower;
+ public string Tag;
+
+ public AcstSubControlView(Function sub, HorizontalScrolViewLayout subFunctionListView,string imageFolder)
+ {
+ Tag = sub.sid;
+
+ var subFunctionView = new FrameLayout()
+ {
+ Width = Application.GetRealWidth(177),
+ Height = Application.GetRealHeight(93),
+ BackgroundImagePath = "FunctionIcon/Acst/grey/BgSubControlView.png",
+ };
+ subFunctionListView.AddChidren(subFunctionView);
+
+ var btnRoomInfo = new Button()
+ {
+ X = Application.GetRealWidth(18 + 7),
+ Y = Application.GetRealHeight(11),
+ Height = Application.GetRealHeight(40),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = 0xFF1b3053,
+ TextSize = 13,
+ Text = sub.name,
+ };
+ subFunctionView.AddChidren(btnRoomInfo);
+
+ var btnSubTempIcon = new Button()
+ {
+ X = Application.GetRealWidth(16 + 7),
+ Y = Application.GetRealHeight(47 + 11),
+ Width = Application.GetMinRealAverage(11),
+ Height = Application.GetMinRealAverage(11),
+ UnSelectedImagePath = "FunctionIcon/CAC/HvacCacTempIcon.png",
+ };
+ subFunctionView.AddChidren(btnSubTempIcon);
+
+ btnSubTempValues = new TextButton()
+ {
+ X = btnSubTempIcon.Right,
+ Y = Application.GetRealHeight(45 + 11),
+ Height = Application.GetRealHeight(14),
+ Width = Application.GetRealWidth(35),
+ TextColor = 0xFF1b3035,
+ TextSize = 10,
+ Text = sub.GetAttrState(AcstSub_AttrEnum.room_temp.ToString()) + "掳C",
+ TextAlignment = TextAlignment.CenterLeft,
+ };
+ subFunctionView.AddChidren(btnSubTempValues);
+
+ Button btnSubHumidityIcon = new Button()
+ {
+ X = btnSubTempValues.Right + Application.GetRealWidth(5),
+ Y = Application.GetRealHeight(47 + 11),
+ Width = Application.GetMinRealAverage(11),
+ Height = Application.GetMinRealAverage(11),
+ UnSelectedImagePath = "FunctionIcon/CAC/HvacCacHumidityIcon.png",
+ };
+ subFunctionView.AddChidren(btnSubHumidityIcon);
+
+ btnSubHumidityValues = new TextButton()
+ {
+ X = btnSubHumidityIcon.Right,
+ Y = Application.GetRealHeight(45 + 11),
+ Height = Application.GetRealHeight(14),
+ Width = Application.GetRealWidth(35),
+ TextColor = 0xFF1b3053,
+ TextSize = 10,
+ Text = sub.GetAttrState(AcstSub_AttrEnum.room_humidity.ToString()) + "%",
+ TextAlignment = TextAlignment.CenterLeft,
+ };
+ subFunctionView.AddChidren(btnSubHumidityValues);
+
+ btnSubPower = new Button()
+ {
+ X = Application.GetRealWidth(121 + 7),
+ Gravity = Gravity.CenterVertical,
+ Width = Application.GetRealWidth(28),
+ Height = Application.GetRealWidth(28),
+ UnSelectedImagePath = "FunctionIcon/Acst/grey/PowerOffIcon.png",
+ SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/PowerIcon.png",
+ TextAlignment = TextAlignment.Center,
+ };
+ subFunctionView.AddChidren(btnSubPower);
+ btnSubPower.MouseUpEventHandler = (sender, e) => {
+ btnSubPower.IsSelected = !btnSubPower.IsSelected;
+ string onoff = btnSubPower.IsSelected ? "on" : "off";
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.OnOff, onoff);
+ Control.Ins.SendWriteCommand(sub, d);
+ };
+
+ EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
+ var page = new AcstSubPage(sub,imageFolder);
+ MainPage.BasePageView.AddChidren(page);
+ page.LoadPage(()=> {
+ btnRoomInfo.Text = sub.name;
+ });
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+
+ btnRoomInfo.MouseUpEventHandler = eventHandler;
+ btnSubHumidityIcon.MouseUpEventHandler = eventHandler;
+ btnSubHumidityValues.MouseUpEventHandler = eventHandler;
+ btnSubTempIcon.MouseUpEventHandler = eventHandler;
+ btnSubTempValues.MouseUpEventHandler = eventHandler;
+ subFunctionView.MouseUpEventHandler = eventHandler;
+ }
+ }
+
+
+ public class IconButton : FrameLayout
+ {
+ FrameLayout view;
+
+ public Button btnIcon;
+
+ public Button btnText;
+
+ public IconButton(string iconPath,string iconPath2,string text,uint color,bool isSelect)
+ {
+ view = this;
+ view.Width = Application.GetRealWidth(144);
+ view.Height = Application.GetRealHeight(44);
+
+ btnIcon = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Gravity = Gravity.CenterVertical,
+ Width = Application.GetRealWidth(24),
+ Height = Application.GetRealWidth(24),
+ UnSelectedImagePath = iconPath,
+ SelectedImagePath = iconPath2,
+ IsSelected = isSelect,
+ };
+ view.AddChidren(btnIcon);
+
+ btnText = new Button()
+ {
+ X = Application.GetRealWidth(52),
+ Width = Application.GetRealWidth(90),
+ TextAlignment = TextAlignment.CenterLeft,
+ Text = text,
+ TextSize = 14,
+ TextColor = CSS.CSS_Color.FirstLevelTitleColor,
+ SelectedTextColor = color,
+ IsSelected = isSelect,
+ };
+ view.AddChidren(btnText);
+
+
+ }
+
+
+ public void Click(Action action)
+ {
+ view.MouseUpEventHandler = (sender, e) => {
+ action();
+ };
+ btnText.MouseUpEventHandler = (sender, e) => {
+ action();
+ };
+ btnIcon.MouseUpEventHandler = (sender, e) => {
+ action();
+ };
}
}
}
--
Gitblit v1.8.0