From 274c9e174b3b4df8ff27cf73568076dcaf99f12a Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期一, 30 十二月 2019 13:59:48 +0800
Subject: [PATCH] 2019.12.30
---
ZigbeeApp/Shared/Phone/Device/Category/SelectScene.cs | 89 +++++++++++++++++++++++++-------------------
1 files changed, 51 insertions(+), 38 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/Category/SelectScene.cs b/ZigbeeApp/Shared/Phone/Device/Category/SelectScene.cs
index 65094ac..f0200e7 100644
--- a/ZigbeeApp/Shared/Phone/Device/Category/SelectScene.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Category/SelectScene.cs
@@ -23,7 +23,7 @@
/// <summary>
/// BeforesceneTargetDeviceUIs
/// </summary>
- public List<SceneTargetDeviceUI> beforeSceneTargetDeviceUIs=new List<SceneTargetDeviceUI> { };
+ public List<SceneTargetDeviceUI> beforeSceneTargetDeviceUIs = new List<SceneTargetDeviceUI> { };
/// <summary>
/// 妤煎眰
/// </summary>
@@ -40,7 +40,10 @@
/// sceneUI
/// </summary>
public SceneUI sceneUI;
-
+ /// <summary>
+ /// 褰撳墠鍦烘櫙鏈韩锛屾坊鍔犲満鏅椂浣跨敤
+ /// </summary>
+ public SceneUI currentSceneUI;
#endregion
@@ -66,7 +69,7 @@
AddBodyView();
- RefreshBodyView();
+ RefreshBodyView(Config.Instance.Home.CurrentFloorId);
}
@@ -93,6 +96,8 @@
Gravity = Gravity.CenterVertical,
TextAlignment = TextAlignment.CenterRight,
TextColor = ZigbeeColor.Current.GXCTextBlackColor,
+ TextSize = 14,
+ IsBold = true
};
selectFloorBtn = new Button()
@@ -124,10 +129,10 @@
var floors = new SelectFloor();
AddChidren(floors);
floors.Init(580, 184, Direction.Right);
- floors.FloorAction += (floorName) =>
+ floors.FloorAction += (floorId) =>
{
- floorBtn.Text = floorName;
- RefreshBodyView();
+ floorBtn.Text = Config.Instance.Home.GetFloorNameById(floorId);
+ RefreshBodyView(floorId);
};
}
/// <summary>
@@ -148,7 +153,7 @@
confirmBtn.SetTitle(R.MyInternationalizationString.Save);
confirmBtn.MouseUpEventHandler += (sender, e) =>
{
- sceneTargetDevice.ElseScenesId = sceneUI.Id ;
+ sceneTargetDevice.ElseScenesId = sceneUI.Id;
sceneTargetDevice.SceneUI = sceneUI;
sceneTargetDevice.SceneName = sceneUI.Name;
selectedAction?.Invoke(sceneTargetDevice);
@@ -161,15 +166,15 @@
/// <summary>
/// RefreshBodyView
/// </summary>
- private void RefreshBodyView()
+ private void RefreshBodyView(string floorId)
{
- AddRoomView();
+ AddRoomView(floorId);
}
/// <summary>
/// AddRoomView
/// </summary>
- private void AddRoomView()
+ private void AddRoomView(string floorId)
{
var roomFL = new HorizontalScrolViewLayout()
{
@@ -184,35 +189,26 @@
functionSceneBodyView = new FrameLayout()
{
Y = roomFL.Bottom,
- Height = Application.GetRealHeight(910+622),
+ Height = Application.GetRealHeight(1080 + 452),
BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
};
bodyFrameLayout.AddChidren(functionSceneBodyView);
- Button curBtn = new Button();
- foreach (var room in Common.Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom())
+ RoomButton curBtn = new RoomButton(0,0);
+
+ foreach (var room in Common.Room.CurrentRoom.GetRoomsByFloorIdAppendLoveRoom(floorId))
{
var row = new FrameLayout()
{
- Width = Application.GetRealWidth(187 + 50),
- Height = Application.GetRealHeight(204),
+ Width = Application.GetRealWidth(255),
+ Height = Application.GetRealHeight(167)
};
roomFL.AddChidren(row);
- var roomBtn = new Button()
- {
- Width = Application.GetRealWidth(187),
- Height = Application.GetRealHeight(78),
- Radius = (uint)Application.GetRealHeight(78 / 2),
- Gravity = Gravity.Center,
- Text = room.Name,
- TextColor = ZigbeeColor.Current.GXCTextGrayColor,
- SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
- BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor3,
- SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonSelectedColor,
- BorderColor = ZigbeeColor.Current.GXCBorderUnSelectedColor,
- BorderWidth = 1
- };
+ RoomButton roomBtn = new RoomButton(0, 0);
+ roomBtn.Gravity = Gravity.Center;
+ roomBtn.Init();
+ roomBtn.SetTitle(room.Name);
row.AddChidren(roomBtn);
if (room.IsLove)
@@ -222,15 +218,15 @@
RefreshScene(room);
}
- roomBtn.MouseUpEventHandler += (sender, e) =>
+ roomBtn.ButtonClickEvent += (sender, e) =>
{
- if ((sender as Button) == curBtn)
+ if (sender == curBtn)
{
return;
}
- (sender as Button).IsSelected = true;
+ sender.IsSelected = true;
curBtn.IsSelected = false;
- curBtn = sender as Button;
+ curBtn = sender;
RefreshScene(room);
};
@@ -257,9 +253,11 @@
{
//Y = Application.GetRealHeight(58)
};
+
functionSceneBodyView.AddChidren(sceneScrolView);
SelectSceneRow tempSceneRow = new SelectSceneRow();
- EventHandler<MouseEventArgs> selectScene = (sender, e) => {
+ EventHandler<MouseEventArgs> selectScene = (sender, e) =>
+ {
tempSceneRow.IsSelected = false;
tempSceneRow = ((sender as Button).Parent as SelectSceneRow);
((sender as Button).Parent as SelectSceneRow).IsSelected = true;
@@ -270,6 +268,10 @@
for (int i = 0; i < sceneList.Count; i++)
{
var scene = sceneList[i];
+ if (currentSceneUI?.Id == scene.Id)
+ {
+ continue;
+ }
if (beforeSceneTargetDeviceUIs.Find((obj) => obj.SceneUI.Id == scene.Id) != null)
{
continue;
@@ -286,7 +288,7 @@
sceneRowLayout.Init();
sceneRowLayout.SetTitle(scene.Name);
sceneRowLayout.ClickButton.Tag = scene;
- if(sceneUI==null)
+ if (sceneUI == null)
{
if (i == 0)
{
@@ -297,18 +299,29 @@
}
else
{
- if(sceneUI.Id==scene.Id)
+ if (sceneUI.Id == scene.Id)
{
tempSceneRow = sceneRowLayout;
sceneUI = scene;
sceneRowLayout.IsSelected = true;
}
}
-
+
sceneRowLayout.ClickButton.MouseUpEventHandler += selectScene;
}
+
+ if (sceneList.Count > 8)
+ {
+ var frame = new FrameLayout
+ {
+ Height = Application.GetRealHeight(300)
+ };
+ sceneScrolView.AddChidren(frame);
+ }
+
}
}
+
/// <summary>
/// 鏄剧ず娌℃湁鍦烘櫙
@@ -331,7 +344,7 @@
Height = Application.GetRealHeight(200),
Width = Application.GetRealWidth(700),
Gravity = Gravity.CenterHorizontal,
- Text = Language.StringByID(R.MyInternationalizationString.NoScene).Replace("{\\r\\n}", "\r\n"),
+ Text = Language.StringByID(R.MyInternationalizationString.NoScene_Tip).Replace("{\\r\\n}", "\r\n"),
TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
TextAlignment = TextAlignment.Center,
IsMoreLines = true
--
Gitblit v1.8.0