using System;
|
using System.Collections.Generic;
|
using HDL_ON.DriverLayer;
|
using HDL_ON.Entity;
|
using HDL_ON.UI.CSS;
|
using Shared;
|
|
namespace HDL_ON.UI
|
{
|
public class EnvironmentalPage : FrameLayout
|
{
|
|
#region 控件集合
|
static EnvironmentalPage bodyView;
|
/// <summary>
|
/// 楼层显示
|
/// </summary>
|
Button btnRoom;
|
/// <summary>
|
/// 房间选择下拉图标
|
/// </summary>
|
Button btnFoorDownIcon;
|
/// <summary>
|
/// 房间选择触发区域
|
/// </summary>
|
Button btnRoomClickRow;
|
/// <summary>
|
/// 传感器列表区域
|
/// </summary>
|
FrameLayout sensorListView;
|
|
/// <summary>
|
/// 天气名称文本
|
/// </summary>
|
Button btnWatherText;
|
/// <summary>
|
/// 湿度数据文本
|
/// </summary>
|
Button btnHumidityText;
|
/// <summary>
|
/// pm25数据文本
|
/// </summary>
|
Button btnPm25Values;
|
/// <summary>
|
/// 风速数据文本
|
/// </summary>
|
Button btnFanSpeedValues;
|
|
#endregion
|
#region 区域变量
|
Room room;
|
|
Sensor sensorTemp = new Sensor();
|
#endregion
|
|
|
public EnvironmentalPage()
|
{
|
bodyView = this;
|
}
|
|
/// <summary>
|
/// 加载界面
|
/// </summary>
|
/// <param name="btnCollectionIcon">收藏按钮</param>
|
/// <param name="btnFunctionName">功能名称信息按钮</param>
|
/// <param name="btnFromFloor">功能楼层信息按钮</param>
|
public void LoadPage()
|
{
|
bodyView.BackgroundColor = CSS_Color.BackgroundColor;
|
|
#region 顶部天气部分
|
var topWeatherView = new FrameLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(73),
|
Width = Application.GetRealWidth(361),
|
Height = Application.GetRealWidth(166),
|
BackgroundImagePath = "FunctionIcon/EnvirSensor/0.png",
|
};
|
bodyView.AddChidren(topWeatherView);
|
LoadEvent_ChangeWeatherIcon(topWeatherView);
|
|
var btnLocationText = new Button()
|
{
|
X = Application.GetRealWidth(27),
|
Width = Application.GetRealWidth(74),
|
Height = Application.GetRealWidth(44),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
Text = MainPage.cityInfo.location,
|
};
|
topWeatherView.AddChidren(btnLocationText);
|
|
|
var btnTemp = new Button()
|
{
|
X = Application.GetRealWidth(21),
|
Y = Application.GetRealWidth(53),
|
Width = Application.GetRealWidth(78),
|
Height = Application.GetRealWidth(68),
|
TextSize = 60,
|
IsBold = true,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
Text = MainPage.cityInfo.temperature,
|
};
|
topWeatherView.AddChidren(btnTemp);
|
|
var btnTempUint = new Button()
|
{
|
X = Application.GetRealWidth(109),
|
Y = Application.GetRealWidth(60),
|
Width = Application.GetRealWidth(20),
|
Height = Application.GetRealWidth(20),
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
TextColor = CSS_Color.TextualColor,
|
Text = "°C",
|
};
|
topWeatherView.AddChidren(btnTempUint);
|
|
|
btnWatherText = new Button()
|
{
|
X = Application.GetRealWidth(109),
|
Y = Application.GetRealWidth(82),
|
Width = Application.GetRealWidth(200),
|
Height = Application.GetRealWidth(20),
|
TextColor = CSS_Color.TextualColor,
|
TextSize = CSS_FontSize.TextFontSize,
|
TextAlignment = TextAlignment.CenterLeft,
|
Text = MainPage.cityInfo.weather
|
};
|
topWeatherView.AddChidren(btnWatherText);
|
|
var btnTempUpperLimit = new Button()
|
{
|
X = Application.GetRealWidth(107),
|
Y = Application.GetRealWidth(101),
|
Width = Application.GetRealWidth(16),
|
Height = Application.GetRealWidth(16),
|
UnSelectedImagePath = "FunctionIcon/EnvirSensor/UpperLimit.png",
|
};
|
topWeatherView.AddChidren(btnTempUpperLimit);
|
|
var btnTempUpperLimitText = new Button()
|
{
|
X = btnTempUpperLimit.Right,
|
Y = Application.GetRealWidth(101),
|
Width = Application.GetRealWidth(42),
|
Height = Application.GetRealWidth(20),
|
TextColor = CSS_Color.TextualColor,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
Text = "10°C",
|
};
|
topWeatherView.AddChidren(btnTempUpperLimitText);
|
|
var btnTempLowerLimit = new Button()
|
{
|
X = Application.GetRealWidth(156),
|
Y = Application.GetRealWidth(101),
|
Width = Application.GetRealWidth(16),
|
Height = Application.GetRealWidth(16),
|
UnSelectedImagePath = "FunctionIcon/EnvirSensor/LowerLimit.png",
|
};
|
topWeatherView.AddChidren(btnTempLowerLimit);
|
|
var btnTempLowerLimitText = new Button()
|
{
|
X = btnTempLowerLimit.Right,
|
Y = Application.GetRealWidth(101),
|
Width = Application.GetRealWidth(42),
|
Height = Application.GetRealWidth(20),
|
TextColor = CSS_Color.TextualColor,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
Text = "2°C",
|
};
|
topWeatherView.AddChidren(btnTempLowerLimitText);
|
|
|
var btnValue = new Button()
|
{
|
X = Application.GetRealWidth(27),
|
Y = Application.GetRealWidth(119),
|
Width = Application.GetRealWidth(300),
|
Height = Application.GetRealWidth(34),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
TextColor = CSS_Color.TextualColor,
|
};
|
topWeatherView.AddChidren(btnValue);
|
var valueText = Language.StringByID(StringId.EnvirSensorValueTip);
|
btnValue.Text = valueText.Replace("{0}", $"{MainPage.cityInfo.humidity}").Replace("{1}", $"{MainPage.cityInfo.pm25}").Replace("{2}", $"{MainPage.cityInfo.windLevel}");
|
#endregion
|
|
#region contentView
|
FrameLayout contentView = new FrameLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealWidth(239),
|
Height = Application.GetRealHeight(450),
|
};
|
bodyView.AddChidren(contentView);
|
|
#region 房间顶部切换显示区域
|
room = new Room() { roomName = Language.StringByID(StringId.All) };
|
btnFoorDownIcon = new Button()
|
{
|
Width = Application.GetMinRealAverage(16),
|
Height = Application.GetMinRealAverage(16),
|
X = Application.GetRealWidth(16),
|
Y = Application.GetRealHeight(18),
|
UnSelectedImagePath = "Public/DownIcon.png",
|
};
|
contentView.AddChidren(btnFoorDownIcon);
|
|
btnRoom = new Button()
|
{
|
X = btnFoorDownIcon.Right,
|
Y = Application.GetRealHeight(18),
|
Width = Application.GetRealWidth(200),
|
Height = Application.GetMinRealAverage(16),
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
TextAlignment = TextAlignment.CenterLeft,
|
Text = room.roomName,
|
};
|
contentView.AddChidren(btnRoom);
|
|
btnRoomClickRow = new Button()
|
{
|
Height = Application.GetRealHeight(40),
|
};
|
contentView.AddChidren(btnRoomClickRow);
|
|
#endregion
|
|
sensorListView = new FrameLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(50),
|
Height = Application.GetRealHeight(456),
|
Radius = (uint)Application.GetRealWidth(12),
|
BorderColor = 0x00000000,
|
BorderWidth = 0,
|
};
|
contentView.AddChidren(sensorListView);
|
|
LoadSenesorList();
|
|
|
|
#endregion
|
|
//LoadEventList();
|
LoadDialog_ChangeRoom();
|
|
new TopViewDiv(bodyView, Language.StringByID(StringId.EnvironmentalScience)).LoadTopView();
|
|
}
|
|
/// <summary>
|
/// 加载传感器列表
|
/// </summary>
|
void LoadSenesorList()
|
{
|
sensorListView.RemoveAll();
|
int index = 0;
|
foreach (var sensor in FunctionList.List.GetEnvirSensorsList())
|
{
|
LoadSensorDiv(sensor, index);
|
index++;
|
}
|
}
|
|
/// <summary>
|
/// 加载传感器列表
|
/// </summary>
|
void LoadSensorDiv(Function sensor, int index)
|
{
|
var levelColorList = sensorTemp.GetLevelColorList(sensor.spk);
|
var levelTextList = sensorTemp.GetLevelTextList(sensor.spk);
|
|
if (room.roomId == "" || sensor.roomIds.Contains(room.roomId))
|
{
|
var sensorTag = sensor.sid;
|
FrameLayout sensorView = new FrameLayout()
|
{
|
X = Application.GetRealWidth(7),
|
Width = Application.GetRealWidth(182),
|
Height = Application.GetRealWidth(124),
|
Y = Application.GetRealWidth(124 * (index / 2)),
|
Tag = sensorTag
|
};
|
|
var imagePath = "";
|
var iconPath = "";
|
switch (sensor.spk)
|
{
|
case SPK.SensorCO2:
|
imagePath = "FunctionIcon/EnvirSensor/Co2Bg.png";
|
iconPath = "FunctionIcon/EnvirSensor/Co2Icon.png";
|
break;
|
case SPK.SensorPm25:
|
imagePath = "FunctionIcon/EnvirSensor/Pm25Bg.png";
|
iconPath = "FunctionIcon/EnvirSensor/Pm25Icon.png";
|
break;
|
case SPK.SensorTVOC:
|
imagePath = "FunctionIcon/EnvirSensor/TvocBg.png";
|
iconPath = "FunctionIcon/EnvirSensor/TvocIcon.png";
|
break;
|
case SPK.SensorHumidity:
|
imagePath = "FunctionIcon/EnvirSensor/HumidityBg.png";
|
iconPath = "FunctionIcon/EnvirSensor/HumidityIcon.png";
|
break;
|
case SPK.SensorTemperature:
|
imagePath = "FunctionIcon/EnvirSensor/TempBg.png";
|
iconPath = "FunctionIcon/EnvirSensor/TempIcon.png";
|
break;
|
}
|
sensorView.BackgroundImagePath = imagePath;
|
|
if (index % 2 != 0)
|
{
|
sensorView.X = Application.GetRealWidth(189);
|
}
|
sensorListView.AddChidren(sensorView);
|
|
var btnIcon = new Button()
|
{
|
X = Application.GetRealWidth(23),
|
Y = Application.GetRealHeight(17),
|
Width = Application.GetRealWidth(32),
|
Height = Application.GetRealWidth(32),
|
UnSelectedImagePath = iconPath
|
};
|
sensorView.AddChidren(btnIcon);
|
|
btnIcon.MouseUpEventHandler = (sender, e) =>
|
{
|
#region
|
var esp = new EnvironmentalSensorPage(sensor);
|
MainPage.BasePageView.AddChidren(esp);
|
esp.LoadPage();
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
#endregion
|
};
|
|
var btnInfoIcon = new Button()
|
{
|
X = Application.GetRealWidth(139),
|
Y = Application.GetRealHeight(21),
|
Width = Application.GetRealWidth(24),
|
Height = Application.GetRealWidth(24),
|
UnSelectedImagePath = "FunctionIcon/EnvirSensor/InfoIcon.png",
|
};
|
sensorView.AddChidren(btnInfoIcon);
|
btnInfoIcon.MouseUpEventHandler = (sender, e) =>
|
{
|
LoadInfo(sensor);
|
};
|
|
var btnLevel = new Button()
|
{
|
X = Application.GetRealWidth(25),
|
Y = Application.GetRealWidth(59),
|
Width = Application.GetRealWidth(100),
|
Height = Application.GetRealWidth(32),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,//levelColorList[sensorTemp.GetCurLevel(sensor) - 1],
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextID = levelTextList[sensorTemp.GetCurLevel(sensor) - 1],
|
Tag = "SensorLevel",
|
};
|
sensorView.AddChidren(btnLevel);
|
btnLevel.MouseUpEventHandler = (sender, e) =>
|
{
|
#region
|
var esp = new EnvironmentalSensorPage(sensor);
|
MainPage.BasePageView.AddChidren(esp);
|
esp.LoadPage();
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
#endregion
|
};
|
|
|
var btnSensorValues = new Button()
|
{
|
X = Application.GetRealWidth(25),
|
Y = Application.GetRealWidth(83),
|
Width = Application.GetRealWidth(100),
|
Height = Application.GetRealWidth(27),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.PromptingColor1,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
IsBold = true,
|
Text = sensor.GetAttrState(FunctionAttributeKey.Value),
|
Tag = "SensorValues"
|
};
|
sensorView.AddChidren(btnSensorValues);
|
btnSensorValues.MouseUpEventHandler = (sender, e) =>
|
{
|
#region
|
var esp = new EnvironmentalSensorPage(sensor);
|
MainPage.BasePageView.AddChidren(esp);
|
esp.LoadPage();
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
#endregion
|
};
|
//btnLevel.MouseUpEventHandler = (sender, e) =>
|
//{
|
// LoadInfo(sensor);
|
//};
|
|
|
|
new System.Threading.Thread(() =>
|
{
|
Control.Ins.SendReadCommand(sensor);
|
})
|
{ IsBackground = true }.Start();
|
}
|
}
|
|
/// <summary>
|
/// 加载传感器等级相关信息
|
/// </summary>
|
void LoadInfo(Function sensor)
|
{
|
var levelColorList = sensorTemp.GetLevelColorList(sensor.spk);
|
var levelTextList = sensorTemp.GetLevelTextList(sensor.spk);
|
Dialog dialog = new Dialog();
|
|
FrameLayout dialogBodyView = new FrameLayout();
|
dialog.AddChidren(dialogBodyView);
|
dialogBodyView.MouseUpEventHandler = (sender, e) =>
|
{
|
dialog.Close();
|
};
|
VerticalScrolViewLayout infoView = new VerticalScrolViewLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(667 - 94 - (levelColorList.Count * 44) - 20),
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealHeight(94 + (levelColorList.Count * 44) + levelColorList.Count),
|
Radius = (uint)Application.GetRealWidth(12),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
Animate = Animate.DownToUp,
|
ScrollEnabled = false,
|
AnimateSpeed = 0.3f,
|
};
|
dialogBodyView.AddChidren(infoView);
|
|
Button btnTitle = new Button()
|
{
|
Height = Application.GetRealHeight(50),
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
IsBold = true,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextAlignment = TextAlignment.Center,
|
};
|
infoView.AddChidren(btnTitle);
|
|
switch (sensor.spk)
|
{
|
case SPK.SensorPm25:
|
btnTitle.Text = "PM2.5(ug/m²)";
|
break;
|
case SPK.SensorTemperature:
|
btnTitle.Text = Language.StringByID(StringId.Temp) + "(°C)";
|
break;
|
case SPK.SensorTVOC:
|
btnTitle.Text = "TVOC(PPM)";
|
break;
|
case SPK.SensorCO2:
|
btnTitle.Text = "CO2(PPM)";
|
break;
|
case SPK.SensorHumidity:
|
btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)";
|
break;
|
}
|
|
FrameLayout subTitleView = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(44),
|
};
|
infoView.AddChidren(subTitleView);
|
|
subTitleView.AddChidren(new Button()
|
{
|
X = Application.GetRealWidth(20),
|
Width = Application.GetRealWidth(100),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.TextFontSize,
|
IsBold = true,
|
TextID = StringId.IntervalValue,
|
});
|
|
subTitleView.AddChidren(new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth(100),
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.TextFontSize,
|
IsBold = true,
|
TextID = StringId.LevelSensor,
|
});
|
|
subTitleView.AddChidren(new Button()
|
{
|
X = Application.GetRealWidth(223),
|
Width = Application.GetRealWidth(100),
|
TextAlignment = TextAlignment.CenterRight,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.TextFontSize,
|
IsBold = true,
|
TextID = StringId.ColorValue,
|
});
|
for (int index = 0; index < levelTextList.Count; index++)
|
{
|
infoView.AddChidren(new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth(303),
|
Height = Application.GetRealWidth(1),
|
BackgroundColor = CSS_Color.DividingLineColor,
|
});
|
|
FrameLayout subInfoView = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(44),
|
};
|
infoView.AddChidren(subInfoView);
|
|
subInfoView.AddChidren(new Button()
|
{
|
X = Application.GetRealWidth(20),
|
Width = Application.GetRealWidth(100),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.TextFontSize,
|
IsBold = true,
|
Text = sensorTemp.GetIntervalValue(sensor.spk)[index]
|
});
|
|
subInfoView.AddChidren(new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth(100),
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.TextFontSize,
|
IsBold = true,
|
TextID = levelTextList[index]
|
});
|
|
subInfoView.AddChidren(new Button()
|
{
|
X = Application.GetRealWidth(285),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetRealWidth(38),
|
Height = Application.GetRealHeight(18),
|
Radius = (uint)Application.GetRealWidth(4),
|
BackgroundColor = levelColorList[index]
|
});
|
}
|
|
|
|
|
dialog.Show();
|
}
|
|
/// <summary>
|
/// 房间列表点击事件
|
/// </summary>
|
void LoadDialog_ChangeRoom()
|
{
|
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
|
{
|
var dialog = new Dialog();
|
var dialogBody = new FrameLayout();
|
dialog.AddChidren(dialogBody);
|
dialogBody.MouseUpEventHandler += (sender1, e1) =>
|
{
|
dialog.Close();
|
};
|
|
var dispalyView = new FrameLayout()
|
{
|
X = Application.GetRealWidth(10),
|
Y = Application.GetRealHeight(266),
|
Width = Application.GetRealWidth(160),
|
Height = Application.GetRealHeight(110),
|
BackgroundImagePath = "PersonalCenter/HomeList1bg.png",
|
};
|
dialogBody.AddChidren(dispalyView);
|
|
var contentView = new VerticalScrolViewLayout()
|
{
|
X = Application.GetRealWidth(8),
|
Y = Application.GetRealHeight(15),
|
Width = Application.GetRealWidth(150),
|
Height = Application.GetRealHeight(45 * 2),
|
ScrollEnabled = false
|
};
|
dispalyView.AddChidren(contentView);
|
|
if (SpatialInfo.CurrentSpatial.RoomList.Count < 2)
|
{
|
}
|
else if (SpatialInfo.CurrentSpatial.RoomList.Count < 3)
|
{
|
dispalyView = new FrameLayout()
|
{
|
X = Application.GetRealWidth(10),
|
Y = Application.GetRealHeight(266),
|
Width = Application.GetRealWidth(160),
|
Height = Application.GetRealHeight(155),
|
BackgroundImagePath = "PersonalCenter/HomeList2bg.png",
|
};
|
dialogBody.AddChidren(dispalyView);
|
|
contentView.Height = Application.GetRealHeight(45 * 3);
|
dispalyView.AddChidren(contentView);
|
}
|
else if (SpatialInfo.CurrentSpatial.RoomList.Count < 4)
|
{
|
dispalyView = new FrameLayout()
|
{
|
X = Application.GetRealWidth(10),
|
Y = Application.GetRealHeight(266),
|
Width = Application.GetRealWidth(160),
|
Height = Application.GetRealHeight(200),
|
BackgroundImagePath = "PersonalCenter/HomeList3bg.png",
|
};
|
dialogBody.AddChidren(dispalyView);
|
|
contentView.Height = Application.GetRealHeight(45 * 4);
|
dispalyView.AddChidren(contentView);
|
}
|
else
|
{
|
dispalyView = new FrameLayout()
|
{
|
X = Application.GetRealWidth(10),
|
Y = Application.GetRealHeight(266),
|
Width = Application.GetRealWidth(160),
|
Height = Application.GetRealHeight(245),
|
BackgroundImagePath = "PersonalCenter/HomeList4bg.png",
|
};
|
dialogBody.AddChidren(dispalyView);
|
|
contentView.Height = Application.GetRealHeight(45 * 5);
|
contentView.ScrollEnabled = true;
|
dispalyView.AddChidren(contentView);
|
}
|
|
|
var showListRoom = new List<Room>();
|
showListRoom.Add(new Room() { roomName = Language.StringByID(StringId.All) });
|
showListRoom.AddRange(SpatialInfo.CurrentSpatial.RoomList);
|
|
foreach (var roomTemp in showListRoom)
|
{
|
string roomName = roomTemp.roomName;
|
var btnRoomName = new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth(112),
|
Height = Application.GetRealHeight(44),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
SelectedTextColor = CSS_Color.MainColor,
|
Text = roomName,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
IsSelected = btnRoom.Text == roomName,
|
IsMoreLines = true,
|
Tag = roomName
|
};
|
contentView.AddChidren(btnRoomName);
|
|
btnRoomName.MouseUpEventHandler += (senderH, en) =>
|
{
|
dialog.Close();
|
btnRoom.Text = roomName;
|
room = roomTemp;
|
LoadSenesorList();
|
};
|
}
|
|
dialog.Show();
|
};
|
|
btnRoomClickRow.MouseUpEventHandler = eventHandler;
|
//btnFoorDownIcon.MouseUpEventHandler = eventHandler;
|
}
|
|
|
|
|
|
#region event
|
|
public static void LoadEvent_UpdataStatus(Function updateTemp)
|
{
|
Application.RunOnMainThread(() =>
|
{
|
if (bodyView != null)
|
{
|
for (int i = 0; i < bodyView.sensorListView.ChildrenCount; i++)
|
{
|
var sensorTag = updateTemp.sid;
|
var view = bodyView.sensorListView.GetChildren(i);
|
if (view.GetType() == typeof(FrameLayout))
|
{
|
if (view.Tag.ToString() != sensorTag)
|
{
|
continue;
|
}
|
for (int j = 0; j < (view as FrameLayout).ChildrenCount; j++)
|
{
|
var btn = (view as FrameLayout).GetChildren(j);
|
if (btn.GetType() == typeof(Button))
|
{
|
if (btn.Tag != null)
|
{
|
var tag = btn.Tag.ToString();
|
if (tag == "SensorValues")
|
{
|
(btn as Button).Text = updateTemp.GetAttrState(FunctionAttributeKey.Value);
|
}
|
else if (tag == "SensorLevel")
|
{
|
(btn as Button).TextID = bodyView.sensorTemp.GetLevelTextList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1];
|
(btn as Button).TextColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1];
|
}
|
}
|
}
|
else if (btn.GetType() == typeof(ArcSeekBar))
|
{
|
(btn as ArcSeekBar).ProgressBarColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1];
|
|
(btn as ArcSeekBar).Progress = (96 / bodyView.sensorTemp.GetLevelColorList(updateTemp.spk).Count) * bodyView.sensorTemp.GetCurLevel(updateTemp);
|
}
|
}
|
}
|
}
|
}
|
});
|
}
|
|
void LoadEvent_ChangeWeatherIcon(FrameLayout view)
|
{
|
|
switch (MainPage.cityInfo.weather)
|
{
|
case "晴":
|
case "Sunny":
|
case "晴天":
|
case "天晴":
|
case "Clear":
|
case "大部晴朗":
|
case "Mostly Sunny":
|
case "晴時多雲":
|
case "陽光充沛":
|
case "Mostly Clear":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/0.png";
|
break;
|
case "多云":
|
case "Cloudy":
|
case "多雲":
|
case "少云":
|
case "Partly Cloudy":
|
case "少雲":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/1.png";
|
break;
|
case "阴":
|
case "Overcast":
|
case "陰天":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/2.png";
|
break;
|
case "阵雨":
|
case "Showers":
|
case "陣雨":
|
case "驟雨":
|
case "局部阵雨":
|
case "Scattered Showers":
|
case "局地陣雨":
|
case "局部地區性驟雨":
|
case "小阵雨":
|
case "Light Showers":
|
case "小陣雨":
|
case "零散驟雨":
|
case "强阵雨":
|
case "Heavy Showers":
|
case "強陣雨":
|
case "間中有驟雨":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
|
break;
|
case "阵雪":
|
case "Snow Showers":
|
case "陣雪":
|
case "驟雪":
|
case "小阵雪":
|
case "Light Snow Showers":
|
case "小陣雪":
|
case "零散驟雪":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
|
break;
|
case "雾":
|
case "Fog":
|
case "霧":
|
case "薄霧":
|
case "冻雾":
|
case "Freezing Fog":
|
case "凍霧":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/18.png";
|
break;
|
case "沙尘暴":
|
case "Sandstorm":
|
case "沙塵暴":
|
case "强沙尘暴":
|
case "Heavy Sandstorm":
|
case "強沙塵暴":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/20.png";
|
break;
|
case "浮尘":
|
case "Dust":
|
case "浮塵":
|
case "尘卷风":
|
case "Dust Storm":
|
case "塵捲風":
|
case "扬沙":
|
case "Sand":
|
case "揚沙":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/29.png";
|
break;
|
case "霾":
|
case "Haze":
|
case "煙霞":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/45.png";
|
break;
|
case "雷阵雨":
|
case "Thundershower":
|
case "雷陣雨":
|
case "雷雨":
|
case "雷电":
|
case "Lightning":
|
case "雷電":
|
case "雷暴":
|
case "Thunderstorm":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/4.png";
|
break;
|
case "雷阵雨伴有冰雹":
|
case "Thundershower with Hail":
|
case "雷陣雨伴有冰雹":
|
case "雷雨伴有冰雹":
|
case "冰雹":
|
case "Hail":
|
case "冰针":
|
case "Needle Ice":
|
case "冰針":
|
case "冰粒":
|
case "Icy":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/5.png";
|
break;
|
case "雨夹雪":
|
case "Sleet":
|
case "雨夾雪":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/6.png";
|
break;
|
case "小雨":
|
case "Light Rain":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
|
break;
|
case "中雨":
|
case "Rain":
|
case "小到中雨":
|
case "雨":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
|
break;
|
case "大雨":
|
case "Heavy Rain":
|
case "中到大雨":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
|
break;
|
case "暴雨":
|
case "Rainstorm":
|
case "豪雨":
|
case "大暴雨":
|
case "Heavy Rainstorm":
|
case "大豪雨":
|
case "特大暴雨":
|
case "Extreme Rainstorm":
|
case "超大豪雨":
|
case "大到暴雨":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
|
break;
|
case "小雪":
|
case "Light Snow":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
|
break;
|
case "雪":
|
case "中雪":
|
case "小到中雪":
|
case "Snow":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
|
break;
|
case "大雪":
|
case "Heavy Snow":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
|
break;
|
case "暴雪":
|
case "Blizzard":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
|
break;
|
case "冻雨":
|
case "Freezing Rain":
|
case "凍雨":
|
view.BackgroundImagePath = "FunctionIcon/EnvirSensor/6.png";
|
break;
|
}
|
}
|
|
#endregion
|
}
|
}
|