using System; using System.Collections.Generic; namespace Shared.SimpleControl.Phone { public class SystemLightDimming : FrameLayout { public void SystemLightDimmingShow (LightDimming lightDimming, Common common) { MainPage.Loading.Start (Language.StringByID(R.MyInternationalizationString.load)); if (common.Type == DeviceType.LightDALI) { lightDimming = lightDimming as LightDALI; } System.Threading.Tasks.Task.Run (() => { try { var lightDimmingBytes = Control.ControlBytesSendHasReturn (Command.ReadDeviceLoopInfo, lightDimming.SubnetID, lightDimming.DeviceID, new byte [] { lightDimming.BigClass, lightDimming.MinClass, lightDimming.LoopID }); if (lightDimmingBytes == null) { if (common.Type == DeviceType.LightDALI) lightDimmingBytes = new byte [38]; else lightDimmingBytes = new byte [26]; lightDimmingBytes [0] = lightDimming.BigClass; lightDimmingBytes [1] = lightDimming.MinClass; lightDimmingBytes [2] = lightDimming.LoopID; } else { Application.RunOnMainThread (() => { #region top RowLayout topTitleView = new RowLayout () { Height = Application.GetRealHeight (100), BackgroundColor = SkinStyle.Current.MainColor }; AddChidren (topTitleView); Button backButton = new Button () { X = Application.GetRealWidth (0), Height = Application.GetRealHeight (90), Width = Application.GetRealWidth (85), UnSelectedImagePath = "Item/Back.png", SelectedImagePath = "Item/BackSelected.png", Gravity = Gravity.CenterVertical, }; backButton.MouseUpEventHandler += (sender, e) => { (Parent as PageLayout).PageIndex -= 1; //SystemEquipmentBase.RefreshView (common); //Animate = Animate.RightToLeft; }; topTitleView.AddChidren (backButton); EditText textButton = new EditText () { X = Application.GetRealWidth (30) + backButton.Right, Height = Application.GetRealHeight (50), Width = Application.GetRealWidth (400), Text = lightDimming.Name, TextAlignment = TextAlignment.CenterLeft, Gravity = Gravity.CenterVertical, BackgroundColor = SkinStyle.Current.Transparent, SelectedBackgroundColor = SkinStyle.Current.SysEditBox, Enable = false, TextColor = SkinStyle.Current.TextColor1 }; topTitleView.AddChidren (textButton); Button editor = new Button () { X = Application.GetRealWidth (520), Height = Application.GetRealHeight (90), Width = Application.GetRealWidth (70), UnSelectedImagePath = "Item/Editor.png", SelectedImagePath = "Item/EditorSelected.png", Gravity = Gravity.CenterVertical, }; topTitleView.AddChidren (editor); EventHandler eHandler = new EventHandler ((sender, e) => { if (editor.IsSelected) { MainPage.Loading.Start (); byte [] remakeBytes = CommonPage.MyEncodingGB2312.GetBytes (textButton.Text.Trim ()); textButton.IsSelected = editor.IsSelected = textButton.Enable = false; System.Threading.Tasks.Task.Run (() => { byte [] updateBytes = Control.ControlBytesSendHasReturn (Command.ReadDeviceLoopInfo, lightDimming.SubnetID, lightDimming.DeviceID, new byte [] { lightDimming.BigClass,lightDimming.MinClass,lightDimming.LoopID }); if (updateBytes == null) { Application.RunOnMainThread (() => { MainPage.Loading.Hide (); new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline), Language.StringByID (R.MyInternationalizationString.Close)).Show (); }); return; } byte [] uBytes = new byte [20]; Array.Copy (remakeBytes, 0, uBytes, 0, remakeBytes.Length < 20 ? remakeBytes.Length : 20); Array.Copy (uBytes, 0, updateBytes, 3, 20 < uBytes.Length ? 20 : uBytes.Length); var reBytes = Control.ControlBytesSendHasReturn (Command.SetDeviceLoopInfo, lightDimming.SubnetID, lightDimming.DeviceID, updateBytes); if (reBytes != null) { Application.RunOnMainThread (() => { lightDimming.Name = textButton.Text.Trim (); IO.FileUtils.SaveEquipmentMessage (lightDimming, lightDimming.LoopID.ToString ()); MainPage.Loading.Hide (); }); } else { Application.RunOnMainThread (() => { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline), Language.StringByID (R.MyInternationalizationString.Close)).Show (); MainPage.Loading.Hide (); }); } }); } else { textButton.Enable = textButton.IsSelected = editor.IsSelected = true; } }); editor.MouseUpEventHandler += eHandler; #endregion #region MyRegion FrameLayout frameLayoutBody = new FrameLayout () { Y = Application.GetRealHeight (100), Height = Application.GetRealHeight (700), }; AddChidren (frameLayoutBody); Button btnMaximum = new Button () { Width = Application.GetRealHeight (150), Height = Application.GetRealHeight (45), X = backButton.Right, Y = Application.GetRealHeight (60), TextID = R.MyInternationalizationString.MaximumOutput, TextAlignment = TextAlignment.CenterLeft, Enable = false, TextColor = SkinStyle.Current.TextColor1 }; frameLayoutBody.AddChidren (btnMaximum); EditText etMaxout = new EditText () { X = btnMaximum.Right, Y = btnMaximum.Y, Width = Application.GetRealWidth (300), Height = btnMaximum.Height, Text = lightDimming.MaxLevel.ToString (), TextAlignment = TextAlignment.CenterLeft, BorderColor = SkinStyle.Current.BorderColor, BorderWidth = 1, Radius = 5, TextColor = SkinStyle.Current.TextColor1 }; frameLayoutBody.AddChidren (etMaxout); //---Min Button btnMinimum = new Button () { Width = Application.GetRealHeight (150), Height = Application.GetRealHeight (45), X = backButton.Right, Y = btnMaximum.Bottom + Application.GetRealHeight (20), TextID = R.MyInternationalizationString.MinimumOutput, TextAlignment = TextAlignment.CenterLeft, Enable = false, TextColor = SkinStyle.Current.TextColor1 }; frameLayoutBody.AddChidren (btnMinimum); EditText etMinout = new EditText () { X = btnMinimum.Right, Y = btnMinimum.Y, Width = Application.GetRealWidth (300), Height = btnMaximum.Height, Text = lightDimming.Minimum.ToString (), TextAlignment = TextAlignment.CenterLeft, BorderColor = SkinStyle.Current.BorderColor, BorderWidth = 1, Radius = 5, TextColor = SkinStyle.Current.TextColor1 }; frameLayoutBody.AddChidren (etMinout); var lblDelayTime = new Button () { X = backButton.Right, Y = etMinout.Bottom + Application.GetRealHeight (20), Width = Application.GetRealWidth (200), Height = btnMaximum.Height, TextID = R.MyInternationalizationString.DelayTime, TextAlignment = TextAlignment.CenterLeft, TextColor = SkinStyle.Current.TextColor1 }; //frameLayoutBody.AddChidren (lblDelayTime); var etDelayTime = new EditText () { X = lblDelayTime.Right + Application.GetRealWidth (10), Y = etMinout.Bottom + Application.GetRealHeight (20), Width = Application.GetRealWidth (240), Height = lblDelayTime.Height, TextAlignment = TextAlignment.CenterLeft, Text = " " + (lightDimming.DelayTimeHeight * 256 + lightDimming.DelayTimeLow), BackgroundColor = SkinStyle.Current.SubtitleView, TextColor = SkinStyle.Current.TextColor1 }; //frameLayoutBody.AddChidren (etDelayTime); Button btnSave = new Button () { Width = Application.GetRealWidth (150), Height = Application.GetRealHeight (50), X = (Application.CurrentWidth - Application.GetRealWidth (150)) / 2, Y = etMinout.Bottom + Application.GetRealHeight (20), BackgroundColor = SkinStyle.Current.ButtonColor, SelectedBackgroundColor = SkinStyle.Current.SelectedColor, BorderWidth = 1, Radius = 5, BorderColor = SkinStyle.Current.Transparent, TextID = R.MyInternationalizationString.SAVE, TextAlignment = TextAlignment.Center, TextColor = SkinStyle.Current.TextColor1 }; frameLayoutBody.AddChidren (btnSave); btnSave.MouseUpEventHandler += (sender, e) => { int MByte = 0; int MiByte = 0; if (int.TryParse (etMaxout.Text.Trim (), out MByte)) { lightDimming.MaxLevel = (byte)MByte; } if (int.TryParse (etMinout.Text.Trim (), out MiByte)) { lightDimming.Minimum = (byte)MiByte; } System.Threading.Tasks.Task.Run (() => { try { if (lightDimming.MaxLevel < lightDimming.Minimum || lightDimming.MaxLevel > 100 || lightDimming.MaxLevel < 0 || lightDimming.Minimum > 100 || lightDimming.Minimum < 0) { System.Threading.Tasks.Task.Run (() => { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.PleaseEnterTheCorrectData), Language.StringByID (R.MyInternationalizationString.Close)).Show (); }); } lightDimmingBytes [23] = lightDimming.Minimum; lightDimmingBytes [24] = lightDimming.MaxLevel; } catch { System.Threading.Tasks.Task.Run (() => { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.PleaseEnterTheCorrectData), Language.StringByID (R.MyInternationalizationString.Close)).Show (); }); } byte [] usefulBytes = Control.ControlBytesSendHasReturn (Command.SetDeviceLoopInfo, lightDimming.SubnetID, lightDimming.DeviceID, lightDimmingBytes); if (usefulBytes == null) { Application.RunOnMainThread (() => { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.ModifythefailurePleasechecktheequipmentisonline), Language.StringByID (R.MyInternationalizationString.Close)).Show (); }); return; } else { IO.FileUtils.SaveEquipmentMessage (lightDimming, lightDimming.LoopID.ToString ()); Application.RunOnMainThread (() => { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.ThePerationWasSuccessful), Language.StringByID (R.MyInternationalizationString.Close)).Show (); }); } }); }; Button btnDimmingText = new Button () { X = backButton.Right, Y = btnSave.Bottom + Application.GetRealHeight (100), Width = Application.GetRealWidth (130), Height = Application.GetRealHeight (60), TextID = R.MyInternationalizationString.DimmingFunction, TextAlignment = TextAlignment.CenterLeft, TextColor = SkinStyle.Current.TextColor1, }; frameLayoutBody.AddChidren (btnDimmingText); Button btnDimming = new Button () { X = btnDimmingText.Right, Y = btnSave.Bottom + Application.GetRealHeight (100), Width = Application.GetRealWidth (60), Height = Application.GetRealHeight (59), SelectedImagePath = "Light/CheckOn.png", UnSelectedImagePath = "Light/Check.png", }; frameLayoutBody.AddChidren (btnDimming); btnDimming.IsSelected = lightDimming.DimmingFunction; Button btnSwitch = new Button () { Y = btnDimming.Y, X = btnDimming.Right + Application.GetRealWidth (70), Width = Application.GetRealWidth (200), Height = Application.GetRealHeight (60), BackgroundColor = SkinStyle.Current.ButtonColor, SelectedBackgroundColor = SkinStyle.Current.SelectedColor, BorderWidth = 1, Radius = 5, BorderColor = SkinStyle.Current.Transparent, TextID = R.MyInternationalizationString.ON, TextColor = SkinStyle.Current.TextColor1 }; frameLayoutBody.AddChidren (btnSwitch); FrameLayout MianSeekBarView = new FrameLayout () { Width = Application.GetRealWidth (640), Height = Application.GetRealHeight (80), Y = btnDimming.Bottom + Application.GetRealHeight (20), }; frameLayoutBody.AddChidren (MianSeekBarView); var btnMinBrightness = new Button () { Width = Application.GetRealWidth (100), Height = Application.GetRealHeight (80), Text = "0%", TextAlignment = TextAlignment.CenterRight, }; MianSeekBarView.AddChidren (btnMinBrightness); var tempSeekBarFrame = new FrameLayout () { Width = Application.GetRealWidth (640 - 200), Height = Application.GetRealHeight (80), X = btnMinBrightness.Right, }; MianSeekBarView.AddChidren (tempSeekBarFrame); var horizontalSeekBar = new HorizontalSeekBar () { ThumbColor = SkinStyle.Current.ThumbColor }; tempSeekBarFrame.AddChidren (horizontalSeekBar); Button btnMaxBrightness = new Button () { Width = Application.GetRealWidth (100), Height = Application.GetRealHeight (80), X = tempSeekBarFrame.Right + Application.GetRealWidth (10), Text = lightDimming.CurrentBrightness + "%", TextAlignment = TextAlignment.CenterLeft, TextColor = SkinStyle.Current.TextColor1 }; MianSeekBarView.AddChidren (btnMaxBrightness); byte switchLighting = 0; if (lightDimming.CurrentBrightness > 0) { btnSwitch.TextID = R.MyInternationalizationString.ON; switchLighting = 0; btnSwitch.IsSelected = true; } else { btnSwitch.TextID = R.MyInternationalizationString.OFF; switchLighting = 100; btnSwitch.IsSelected = false; } btnSwitch.MouseUpEventHandler += (sender, e) => { if (lightDimming.CurrentBrightness > 0) { switchLighting = 0; btnMaxBrightness.Text = switchLighting + "%"; btnSwitch.TextID = R.MyInternationalizationString.OFF; } else { switchLighting = 100; btnSwitch.TextID = R.MyInternationalizationString.ON; btnMaxBrightness.Text = switchLighting + "%"; } Control.ControlBytesSend (Command.SetSingleLight, lightDimming.SubnetID, lightDimming.DeviceID, new byte [] { lightDimming.LoopID, switchLighting, lightDimming.DelayTimeHeight, lightDimming.DelayTimeLow }); lightDimming.CurrentBrightness = switchLighting; IO.FileUtils.SaveEquipmentMessage (lightDimming, lightDimming.LoopID.ToString ()); btnSwitch.IsSelected = !btnSwitch.IsSelected; horizontalSeekBar.Progress = switchLighting; }; horizontalSeekBar.MouseUpEventHandler += (sender, e) => { Control.ControlBytesSend (Command.SetSingleLight, lightDimming.SubnetID, lightDimming.DeviceID, new byte [] { lightDimming.LoopID, (byte)horizontalSeekBar.Progress, lightDimming.DelayTimeHeight, lightDimming.DelayTimeLow }); if (horizontalSeekBar.Progress == 0) { btnSwitch.IsSelected = false; btnSwitch.Text = Language.StringByID (R.MyInternationalizationString.OFF); } else { btnSwitch.IsSelected = true; btnSwitch.Text = Language.StringByID (R.MyInternationalizationString.ON); } btnMaxBrightness.Text = horizontalSeekBar.Progress + "%"; }; btnDimming.MouseUpEventHandler += (sender, e) => { btnDimming.IsSelected = !btnDimming.IsSelected; if (btnDimming.IsSelected) { if (UserConfig.Instance.UnEnableDimmingLight.Contains (lightDimming.CommonLoopID)) { UserConfig.Instance.UnEnableDimmingLight.Remove (lightDimming.CommonLoopID); } } else { UserConfig.Instance.UnEnableDimmingLight.Add (lightDimming.CommonLoopID); } UserConfig.Instance.SaveUserConfig (); IO.FileUtils.SaveEquipmentMessage (lightDimming, lightDimming.LoopID.ToString ()); if (btnDimming.IsSelected) { MianSeekBarView.Height = Application.GetRealHeight (80); } else MianSeekBarView.Height = Application.GetRealHeight (0); }; if (!btnDimming.IsSelected) { MianSeekBarView.Height = 0; } }); } } catch { } finally { Application.RunOnMainThread (() => { MainPage.Loading.Hide (); }); } #endregion }); } } public class SystemLightDALI : FrameLayout { public void SystemLightDimmingShow (LightDALI lightDimming, Common common) { MainPage.Loading.Start (Language.StringByID(R.MyInternationalizationString.load)); System.Threading.Tasks.Task.Run (() => { try { var lightDimmingBytes = Control.ControlBytesSendHasReturn (Command.ReadDeviceLoopInfo, lightDimming.SubnetID, lightDimming.DeviceID, new byte [] { lightDimming.BigClass, lightDimming.MinClass, lightDimming.LoopID }); if (lightDimmingBytes == null) { lightDimmingBytes = Control.ControlBytesSendHasReturn (Command.ReadDeviceLoopInfo, lightDimming.SubnetID, lightDimming.DeviceID, new byte [] { lightDimming.BigClass, lightDimming.MinClass, lightDimming.LoopID }); lightDimmingBytes [0] = lightDimming.BigClass; lightDimmingBytes [1] = lightDimming.MinClass; lightDimmingBytes [2] = lightDimming.LoopID; } Application.RunOnMainThread (() => { #region top RowLayout topTitleView = new RowLayout () { Height = Application.GetRealHeight (100), BackgroundColor = SkinStyle.Current.MainColor }; AddChidren (topTitleView); Button backButton = new Button () { X = Application.GetRealWidth (0), Height = Application.GetRealHeight (90), Width = Application.GetRealWidth (85), UnSelectedImagePath = "Item/Back.png", SelectedImagePath = "Item/BackSelected.png", Gravity = Gravity.CenterVertical, }; backButton.MouseUpEventHandler += (sender, e) => { (Parent as PageLayout).PageIndex -= 1; //SystemEquipmentBase.RefreshView (common); //Animate = Animate.RightToLeft; }; topTitleView.AddChidren (backButton); EditText textButton = new EditText () { X = Application.GetRealWidth (30) + backButton.Right, Height = Application.GetRealHeight (50), Width = Application.GetRealWidth (400), Text = lightDimming.Name, TextAlignment = TextAlignment.CenterLeft, Gravity = Gravity.CenterVertical, BackgroundColor = SkinStyle.Current.Transparent, SelectedBackgroundColor = SkinStyle.Current.SysEditBox, Enable = false, TextColor = SkinStyle.Current.TextColor1 }; topTitleView.AddChidren (textButton); Button editor = new Button () { X = Application.GetRealWidth (520), Height = Application.GetRealHeight (90), Width = Application.GetRealWidth (70), UnSelectedImagePath = "Item/Editor.png", SelectedImagePath = "Item/EditorSelected.png", Gravity = Gravity.CenterVertical, }; topTitleView.AddChidren (editor); EventHandler eHandler = new EventHandler ((sender, e) => { if (editor.IsSelected) { MainPage.Loading.Start (); byte [] remakeBytes = CommonPage.MyEncodingGB2312.GetBytes (textButton.Text.Trim ()); textButton.IsSelected = editor.IsSelected = textButton.Enable = false; System.Threading.Tasks.Task.Run (() => { byte [] updateBytes = Control.ControlBytesSendHasReturn (Command.ReadDeviceLoopInfo, lightDimming.SubnetID, lightDimming.DeviceID, new byte [] { lightDimming.BigClass,lightDimming.MinClass,lightDimming.LoopID }); if (updateBytes == null) { Application.RunOnMainThread (() => { MainPage.Loading.Hide (); new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline), Language.StringByID (R.MyInternationalizationString.Close)).Show (); }); return; } byte [] uBytes = new byte [20]; Array.Copy (remakeBytes, 0, uBytes, 0, remakeBytes.Length < 20 ? remakeBytes.Length : 20); Array.Copy (uBytes, 0, updateBytes, 3, 20 < uBytes.Length ? 20 : uBytes.Length); var reBytes = Control.ControlBytesSendHasReturn (Command.SetDeviceLoopInfo, lightDimming.SubnetID, lightDimming.DeviceID, updateBytes); if (reBytes != null) { Application.RunOnMainThread (() => { lightDimming.Name = textButton.Text.Trim (); IO.FileUtils.SaveEquipmentMessage (lightDimming, lightDimming.LoopID.ToString ()); MainPage.Loading.Hide (); }); } else { Application.RunOnMainThread (() => { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline), Language.StringByID (R.MyInternationalizationString.Close)).Show (); MainPage.Loading.Hide (); }); } }); } else { textButton.Enable = textButton.IsSelected = editor.IsSelected = true; } }); editor.MouseUpEventHandler += eHandler; #endregion #region MyRegion FrameLayout frameLayoutBody = new FrameLayout () { Y = Application.GetRealHeight (100), Height = Application.GetRealHeight (700), }; AddChidren (frameLayoutBody); Button btnMaximum = new Button () { Width = Application.GetRealHeight (150), Height = Application.GetRealHeight (45), X = backButton.Right, Y = Application.GetRealHeight (60), TextID = R.MyInternationalizationString.MaximumOutput, TextAlignment = TextAlignment.CenterLeft, Enable = false, TextColor = SkinStyle.Current.TextColor1 }; frameLayoutBody.AddChidren (btnMaximum); EditText etMaxout = new EditText () { X = btnMaximum.Right, Y = btnMaximum.Y, Width = Application.GetRealWidth (300), Height = btnMaximum.Height, Text = lightDimming.MaxLevel.ToString (), TextAlignment = TextAlignment.CenterLeft, BorderColor = SkinStyle.Current.BorderColor, BorderWidth = 1, Radius = 5, TextColor = SkinStyle.Current.TextColor1 }; frameLayoutBody.AddChidren (etMaxout); //---Min Button btnMinimum = new Button () { Width = Application.GetRealHeight (150), Height = Application.GetRealHeight (45), X = backButton.Right, Y = btnMaximum.Bottom + Application.GetRealHeight (20), TextID = R.MyInternationalizationString.MinimumOutput, TextAlignment = TextAlignment.CenterLeft, Enable = false, TextColor = SkinStyle.Current.TextColor1 }; frameLayoutBody.AddChidren (btnMinimum); EditText etMinout = new EditText () { X = btnMinimum.Right, Y = btnMinimum.Y, Width = Application.GetRealWidth (300), Height = btnMaximum.Height, Text = lightDimming.Minimum.ToString (), TextAlignment = TextAlignment.CenterLeft, BorderColor = SkinStyle.Current.BorderColor, BorderWidth = 1, Radius = 5, TextColor = SkinStyle.Current.TextColor1 }; frameLayoutBody.AddChidren (etMinout); var lblDelayTime = new Button () { X = backButton.Right, Y = etMinout.Bottom + Application.GetRealHeight (20), Width = Application.GetRealWidth (200), Height = btnMaximum.Height, TextID = R.MyInternationalizationString.DelayTime, TextAlignment = TextAlignment.CenterLeft, TextColor = SkinStyle.Current.TextColor1 }; //frameLayoutBody.AddChidren (lblDelayTime); var etDelayTime = new EditText () { X = lblDelayTime.Right + Application.GetRealWidth (10), Y = etMinout.Bottom + Application.GetRealHeight (20), Width = Application.GetRealWidth (240), Height = lblDelayTime.Height, TextAlignment = TextAlignment.CenterLeft, Text = " " + (lightDimming.DelayTimeHeight * 256 + lightDimming.DelayTimeLow), BackgroundColor = SkinStyle.Current.SubtitleView, TextColor = SkinStyle.Current.TextColor1 }; //frameLayoutBody.AddChidren (etDelayTime); Button btnSave = new Button () { Width = Application.GetRealWidth (150), Height = Application.GetRealHeight (50), X = (Application.CurrentWidth - Application.GetRealWidth (150)) / 2, Y = etMinout.Bottom + Application.GetRealHeight (20), BackgroundColor = SkinStyle.Current.ButtonColor, SelectedBackgroundColor = SkinStyle.Current.SelectedColor, BorderWidth = 1, Radius = 5, BorderColor = SkinStyle.Current.Transparent, TextID = R.MyInternationalizationString.SAVE, TextAlignment = TextAlignment.Center, TextColor = SkinStyle.Current.TextColor1 }; frameLayoutBody.AddChidren (btnSave); btnSave.MouseUpEventHandler += (sender, e) => { int MByte = 0; int MiByte = 0; if (int.TryParse (etMaxout.Text.Trim (), out MByte)) { lightDimming.MaxLevel = (byte)MByte; } if (int.TryParse (etMinout.Text.Trim (), out MiByte)) { lightDimming.Minimum = (byte)MiByte; } System.Threading.Tasks.Task.Run (() => { try { if (lightDimming.MaxLevel < lightDimming.Minimum || lightDimming.MaxLevel > 100 || lightDimming.MaxLevel < 0 || lightDimming.Minimum > 100 || lightDimming.Minimum < 0) { System.Threading.Tasks.Task.Run (() => { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.PleaseEnterTheCorrectData), Language.StringByID (R.MyInternationalizationString.Close)).Show (); }); } lightDimmingBytes [23] = lightDimming.Minimum; lightDimmingBytes [24] = lightDimming.MaxLevel; } catch { System.Threading.Tasks.Task.Run (() => { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.PleaseEnterTheCorrectData), Language.StringByID (R.MyInternationalizationString.Close)).Show (); }); } byte [] usefulBytes = Control.ControlBytesSendHasReturn (Command.SetDeviceLoopInfo, lightDimming.SubnetID, lightDimming.DeviceID, lightDimmingBytes); if (usefulBytes == null) { Application.RunOnMainThread (() => { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.ModifythefailurePleasechecktheequipmentisonline), Language.StringByID (R.MyInternationalizationString.Close)).Show (); }); return; } else { IO.FileUtils.SaveEquipmentMessage (lightDimming, lightDimming.LoopID.ToString ()); Application.RunOnMainThread (() => { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.ThePerationWasSuccessful), Language.StringByID (R.MyInternationalizationString.Close)).Show (); }); } }); }; Button btnDimmingText = new Button () { X = backButton.Right, Y = btnSave.Bottom + Application.GetRealHeight (100), Width = Application.GetRealWidth (130), Height = Application.GetRealHeight (60), TextID = R.MyInternationalizationString.DimmingFunction, TextAlignment = TextAlignment.CenterLeft, TextColor = SkinStyle.Current.TextColor1, }; frameLayoutBody.AddChidren (btnDimmingText); Button btnDimming = new Button () { X = btnDimmingText.Right, Y = btnSave.Bottom + Application.GetRealHeight (100), Width = Application.GetRealWidth (60), Height = Application.GetRealHeight (59), SelectedImagePath = "Light/CheckOn.png", UnSelectedImagePath = "Light/Check.png", }; frameLayoutBody.AddChidren (btnDimming); btnDimming.IsSelected = lightDimming.DimmingFunction; Button btnSwitch = new Button () { Y = btnDimming.Y, X = btnDimming.Right + Application.GetRealWidth (70), Width = Application.GetRealWidth (200), Height = Application.GetRealHeight (60), BackgroundColor = SkinStyle.Current.ButtonColor, SelectedBackgroundColor = SkinStyle.Current.SelectedColor, BorderWidth = 1, Radius = 5, BorderColor = SkinStyle.Current.Transparent, TextID = R.MyInternationalizationString.ON, TextColor = SkinStyle.Current.TextColor1 }; frameLayoutBody.AddChidren (btnSwitch); FrameLayout MianSeekBarView = new FrameLayout () { Width = Application.GetRealWidth (640), Height = Application.GetRealHeight (80), Y = btnDimming.Bottom + Application.GetRealHeight (20), }; frameLayoutBody.AddChidren (MianSeekBarView); var btnMinBrightness = new Button () { Width = Application.GetRealWidth (100), Height = Application.GetRealHeight (80), Text = "0%", TextAlignment = TextAlignment.CenterRight, }; MianSeekBarView.AddChidren (btnMinBrightness); var tempSeekBarFrame = new FrameLayout () { Width = Application.GetRealWidth (640 - 200), Height = Application.GetRealHeight (80), X = btnMinBrightness.Right, }; MianSeekBarView.AddChidren (tempSeekBarFrame); var horizontalSeekBar = new HorizontalSeekBar () { ThumbColor = SkinStyle.Current.ThumbColor }; tempSeekBarFrame.AddChidren (horizontalSeekBar); Button btnMaxBrightness = new Button () { Width = Application.GetRealWidth (100), Height = Application.GetRealHeight (80), X = tempSeekBarFrame.Right + Application.GetRealWidth (10), Text = lightDimming.CurrentBrightness + "%", TextAlignment = TextAlignment.CenterLeft, TextColor = SkinStyle.Current.TextColor1 }; MianSeekBarView.AddChidren (btnMaxBrightness); byte switchLighting = 0; if (lightDimming.CurrentBrightness > 0) { btnSwitch.TextID = R.MyInternationalizationString.ON; switchLighting = 0; btnSwitch.IsSelected = true; } else { btnSwitch.TextID = R.MyInternationalizationString.OFF; switchLighting = 100; btnSwitch.IsSelected = false; } btnSwitch.MouseUpEventHandler += (sender, e) => { if (lightDimming.CurrentBrightness > 0) { switchLighting = 0; btnMaxBrightness.Text = switchLighting + "%"; btnSwitch.TextID = R.MyInternationalizationString.OFF; } else { switchLighting = 100; btnSwitch.TextID = R.MyInternationalizationString.ON; btnMaxBrightness.Text = switchLighting + "%"; } Control.ControlBytesSend (Command.SetSingleLight, lightDimming.SubnetID, lightDimming.DeviceID, new byte [] { lightDimming.LoopID, switchLighting, lightDimming.DelayTimeHeight, lightDimming.DelayTimeLow }); lightDimming.CurrentBrightness = switchLighting; IO.FileUtils.SaveEquipmentMessage (lightDimming, lightDimming.LoopID.ToString ()); btnSwitch.IsSelected = !btnSwitch.IsSelected; horizontalSeekBar.Progress = switchLighting; }; horizontalSeekBar.MouseUpEventHandler += (sender, e) => { Control.ControlBytesSend (Command.SetSingleLight, lightDimming.SubnetID, lightDimming.DeviceID, new byte [] { lightDimming.LoopID, (byte)horizontalSeekBar.Progress, lightDimming.DelayTimeHeight, lightDimming.DelayTimeLow }); if (horizontalSeekBar.Progress == 0) { btnSwitch.IsSelected = false; btnSwitch.Text = Language.StringByID (R.MyInternationalizationString.OFF); } else { btnSwitch.IsSelected = true; btnSwitch.Text = Language.StringByID (R.MyInternationalizationString.ON); } btnMaxBrightness.Text = horizontalSeekBar.Progress + "%"; }; btnDimming.MouseUpEventHandler += (sender, e) => { btnDimming.IsSelected = !btnDimming.IsSelected; if (btnDimming.IsSelected) { if (UserConfig.Instance.UnEnableDimmingLight.Contains (lightDimming.CommonLoopID)) { UserConfig.Instance.UnEnableDimmingLight.Remove (lightDimming.CommonLoopID); } } else { UserConfig.Instance.UnEnableDimmingLight.Add (lightDimming.CommonLoopID); } UserConfig.Instance.SaveUserConfig (); IO.FileUtils.SaveEquipmentMessage (lightDimming, lightDimming.LoopID.ToString ()); if (btnDimming.IsSelected) { MianSeekBarView.Height = Application.GetRealHeight (80); } else MianSeekBarView.Height = Application.GetRealHeight (0); }; if (!btnDimming.IsSelected) { MianSeekBarView.Height = 0; } }); } catch { } finally { Application.RunOnMainThread (() => { MainPage.Loading.Hide (); }); } #endregion }); } } }