using System; namespace Shared.SimpleControl.Phone { public class UserFan : FrameLayout { public static UserFan curView; FrameLayout speedView; Button btnBottomSwitch; Button btnSwitch; FanModule fanModule; public UserFan (FanModule fan) { curView = this; fanModule = fan; BackgroundColor = SkinStyle.Current.MainColor; } public void ShowRoomFan () { #region 标题 var topView = new FrameLayout () { Y = Application.GetRealHeight (36), Height = Application.GetRealHeight (90), }; AddChidren (topView); var title = new Button () { TextAlignment = TextAlignment.Center, Text = fanModule.Name, TextSize = 19, TextColor = SkinStyle.Current.TextColor1, }; topView.AddChidren (title); var logo = new Button () { Width = Application.GetRealWidth (154), Height = Application.GetRealHeight (90), X = Application.GetRealWidth (486), UnSelectedImagePath = MainPage.LogoString, }; topView.AddChidren (logo); var back = new Button () { Height = Application.GetRealHeight (100), Width = Application.GetRealWidth (85), UnSelectedImagePath = "Item/Back.png", SelectedImagePath = "Item/BackSelected.png", }; topView.AddChidren (back); back.MouseUpEventHandler += (sender, e) => { (Parent as PageLayout).PageIndex -= 1; curView = null; }; #endregion var roomBackgroundImage = new FrameLayout () { Y = topView.Bottom, Height = Application.GetRealHeight (Application.DesignHeight) - topView.Bottom, BackgroundImagePath = "Fan/FanSpeedBackground.png" }; AddChidren (roomBackgroundImage); speedView = new FrameLayout () { X = Application.GetRealWidth (70), Y = Application.GetRealHeight (100), Width = Application.GetMinRealAverage (500), Height = Application.GetMinRealAverage (500), BackgroundImagePath = "Fan/Speed0.png", }; roomBackgroundImage.AddChidren (speedView); Button btnSpeed8 = new Button () { X = Application.GetRealWidth (100), Y = Application.GetRealHeight (20), Width = Application.GetRealWidth (140), Height = Application.GetRealHeight (90), Radius = 5, }; speedView.AddChidren (btnSpeed8); btnSpeed8.MouseDownEventHandler += (sender, e) => { fanModule.Switch = fanModule.WindSpeed = 8; Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 8 }); speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png"; IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ()); }; Button btnSpeed1 = new Button () { X = btnSpeed8.Right + Application.GetRealWidth (20), Y = btnSpeed8.Y, Width = Application.GetRealWidth (140), Height = Application.GetRealHeight (90), Radius = 5, }; speedView.AddChidren (btnSpeed1); btnSpeed1.MouseDownEventHandler += (sender, e) => { btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true; fanModule.Switch = fanModule.WindSpeed = 1; Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 1 }); speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png"; IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ()); }; Button btnSpeed2 = new Button () { X = Application.GetRealWidth (380), Y = Application.GetRealHeight (130), Width = Application.GetRealWidth (105), Height = Application.GetRealHeight (105), Radius = 5, }; speedView.AddChidren (btnSpeed2); btnSpeed2.MouseDownEventHandler += (sender, e) => { btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true; fanModule.Switch = fanModule.WindSpeed = 2; Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 2 }); speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png"; IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ()); }; Button btnSpeed3 = new Button () { X = Application.GetRealWidth (380), Y = btnSpeed2.Bottom + Application.GetRealHeight (20), Width = Application.GetRealWidth (105), Height = Application.GetRealHeight (105), Radius = 5, }; speedView.AddChidren (btnSpeed3); btnSpeed3.MouseDownEventHandler += (sender, e) => { btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true; fanModule.Switch = fanModule.WindSpeed = 3; Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 3 }); speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png"; IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ()); }; Button btnSpeed4 = new Button () { X = btnSpeed1.X, Y = btnSpeed3.Bottom + Application.GetRealHeight (20), Width = Application.GetRealWidth (140), Height = Application.GetRealHeight (90), Radius = 5, }; speedView.AddChidren (btnSpeed4); btnSpeed4.MouseDownEventHandler += (sender, e) => { btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true; fanModule.Switch = fanModule.WindSpeed = 4; Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 4 }); speedView.BackgroundImagePath = "Fan/Speed" + fanModule.WindSpeed.ToString () + ".png"; IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ()); }; Button btnSpeed5 = new Button () { X = btnSpeed8.X, Y = btnSpeed4.Y, Width = Application.GetRealWidth (140), Height = Application.GetRealHeight (90), Radius = 5, IsSelected = fanModule.Switch == 5 ? true : false }; speedView.AddChidren (btnSpeed5); btnSpeed5.MouseDownEventHandler += (sender, e) => { btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true; fanModule.Switch = fanModule.WindSpeed = 5; Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 5 }); speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png"; IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ()); }; Button btnSpeed6 = new Button () { X = Application.GetRealWidth (20), Y = btnSpeed3.Y, Width = Application.GetRealWidth (105), Height = Application.GetRealHeight (105), Radius = 5, }; speedView.AddChidren (btnSpeed6); btnSpeed6.MouseDownEventHandler += (sender, e) => { btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true; fanModule.Switch = fanModule.WindSpeed = 6; Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 6 }); speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png"; IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ()); }; Button btnSpeed7 = new Button () { X = Application.GetRealWidth (20), Y = btnSpeed2.Y, Width = Application.GetRealWidth (105), Height = Application.GetRealHeight (105), Radius = 5, }; speedView.AddChidren (btnSpeed7); btnSpeed7.MouseDownEventHandler += (sender, e) => { btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true; fanModule.Switch = fanModule.WindSpeed = 7; Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, 7 }); speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png"; IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ()); }; btnSwitch = new Button () { Gravity = Gravity.Center, Width = Application.GetMinRealAverage (260), Height = Application.GetMinRealAverage (260), SelectedImagePath = "Fan/FanIconSwitchOn.png", UnSelectedImagePath = "Fan/FanIconSwitch.png", IsSelected = fanModule.Switch != 0 }; speedView.AddChidren (btnSwitch); btnBottomSwitch = new Button () { X = Application.GetRealWidth (212), Y = speedView.Bottom + Application.GetRealHeight (250), Width = Application.GetRealWidth (215), Height = Application.GetRealHeight (95), SelectedImagePath = "Fan/FanSwitchOn.png", UnSelectedImagePath = "Fan/FanSwitch.png", IsSelected = fanModule.Switch != 0 }; AddChidren (btnBottomSwitch); btnSwitch.MouseDownEventHandler += (sender, e) => { if (btnSwitch.IsSelected) { btnBottomSwitch.IsSelected = btnSwitch.IsSelected = false; fanModule.Switch = 0; Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, fanModule.Switch }); speedView.BackgroundImagePath = "Fan/Speed0.png"; } else { btnSwitch.IsSelected = btnBottomSwitch.IsSelected = true; fanModule.Switch = fanModule.WindSpeed; Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID,new byte [] { fanModule.LoopID, fanModule.WindSpeed }); speedView.BackgroundImagePath = "Fan/Speed" + fanModule.WindSpeed.ToString () + ".png"; } IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ()); }; btnBottomSwitch.MouseDownEventHandler += (sender, e) => { if (btnBottomSwitch.IsSelected) { btnBottomSwitch.IsSelected = btnSwitch.IsSelected = false; fanModule.Switch = 0; Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID, new byte [] { fanModule.LoopID, fanModule.Switch }); speedView.BackgroundImagePath = "Fan/Speed0.png"; } else { btnBottomSwitch.IsSelected = btnSwitch.IsSelected = true; fanModule.Switch = fanModule.WindSpeed; Control.ControlBytesSend (Command.SetSingleLight, fanModule.SubnetID, fanModule.DeviceID, new byte [] { fanModule.LoopID, fanModule.WindSpeed }); speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png"; } IO.FileUtils.SaveEquipmentMessage (fanModule, fanModule.LoopID.ToString ()); }; Control.ControlBytesSend (Command.ReadLightEquipmentAllLoopBrightness, fanModule.SubnetID, fanModule.DeviceID,new byte [] { }); speedView.BackgroundImagePath = "Fan/Speed" + fanModule.Switch.ToString () + ".png"; } public static void UpdataFanView (string updataFlag, byte windSpeed) { Application.RunOnMainThread (() => { if (curView == null) return; if (curView.fanModule.CommonLoopID != updataFlag) return; if (windSpeed == 0) { curView.btnBottomSwitch.IsSelected = false; curView.btnSwitch.IsSelected = false; curView.speedView.BackgroundImagePath = "Fan/Speed0.png"; } else { curView.btnBottomSwitch.IsSelected = true; curView.btnSwitch.IsSelected = true; curView.speedView.BackgroundImagePath = "Fan/Speed" + windSpeed.ToString () + ".png"; } }); } } }