using System; using System.Collections.Generic; using System.Text; using ZigBee.Device; namespace Shared.Phone.UserCenter.DevicePirSensor { /// /// pir传感器的调光模式的配置界面 /// public class PirSensorDimmingModeForm : EditorCommonForm { #region ■ 变量声明___________________________ /// /// 传感器的配置信息 /// private IASZone.ConfigureParamates pirConfigure = null; #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// /// 传感器的配置信息 public void ShowForm(IASZone.ConfigureParamates i_pirConfigure) { this.pirConfigure = i_pirConfigure; //设置头部信息 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDimmingMode)); //初始化中部信息 this.InitMiddleFrame(); } /// /// 初始化中部信息 /// private void InitMiddleFrame() { //清空bodyFrame this.ClearBodyFrame(); var frameBack = new FrameLayout(); frameBack.Height = Application.GetRealHeight(11); frameBack.BackgroundColor = UserCenterColor.Current.White; bodyFrameLayout.AddChidren(frameBack); var listView = new VerticalListControl(12); listView.Height = Application.GetRealHeight(700); listView.Y = frameBack.Bottom; listView.BackgroundColor = UserCenterColor.Current.White; bodyFrameLayout.AddChidren(listView); //添加开灯亮度行 this.AddTurnOnBrightnessRow(listView); //添加慢启动行 this.AddSlowStartupRow(listView); //添加慢关闭行 this.AddSlowCloseRow(listView); //调整高度 listView.AdjustRealHeight(Application.GetRealHeight(23)); //保存 var btnSave = new BottomClickButton(); btnSave.TextID = R.MyInternationalizationString.uSave; bodyFrameLayout.AddChidren(btnSave); btnSave.ButtonClickEvent += (sender, e) => { this.CloseForm(); }; } #endregion #region ■ 开灯亮度___________________________ /// /// 添加开灯亮度行 /// /// private void AddTurnOnBrightnessRow(VerticalListControl listView) { var listSelect = new List(); for (int i = 10; i <= 100; i += 10) { listSelect.Add(i + "%"); } //让它处于10的整倍数 this.pirConfigure.dimmerLevel = (this.pirConfigure.dimmerLevel / 10) * 10; int index = listSelect.IndexOf(this.pirConfigure.dimmerLevel + "%"); //开灯亮度 var row1 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row1); var btnCaption1 = row1.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uTurnOnBrightness), 400); btnCaption1.TextSize = 15; row1.AddRightArrow(); var btnStatu = row1.AddMostRightView(pirConfigure.dimmerLevel + "%", 400); row1.AddBottomLine(); row1.ButtonClickEvent += (sender, e) => { PickerView.Show(listSelect, (value) => { btnStatu.Text = listSelect[value]; pirConfigure.dimmerLevel = Convert.ToInt32(listSelect[value].Replace("%", string.Empty)); }, index == -1 ? 0 : index, Language.StringByID(R.MyInternationalizationString.uBrightness), Language.StringByID(R.MyInternationalizationString.uFinish), Language.StringByID(R.MyInternationalizationString.uCancel)); }; } #endregion #region ■ 慢启动_____________________________ /// /// 添加慢启动行 /// /// private void AddSlowStartupRow(VerticalListControl listView) { var listTime = new List(); var miao = Language.StringByID(R.MyInternationalizationString.uSecond); for (int i = 0; i <= 10; i++) { listTime.Add(i + miao); } int index = listTime.IndexOf(this.pirConfigure.dimmerOnTime + miao); //慢启动 var row2 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row2); var btnCaption2 = row2.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uSlowStartup), 400); btnCaption2.TextSize = 15; row2.AddRightArrow(); var btnStatu2 = row2.AddMostRightView(pirConfigure.dimmerOnTime + miao, 400); row2.AddBottomLine(); row2.ButtonClickEvent += (sender, e) => { PickerView.Show(listTime, (value) => { btnStatu2.Text = listTime[value]; pirConfigure.dimmerOnTime = Convert.ToInt32(listTime[value].Replace(miao, string.Empty)); }, index == -1 ? 0 : index, btnCaption2.Text, Language.StringByID(R.MyInternationalizationString.uFinish), Language.StringByID(R.MyInternationalizationString.uCancel)); }; } #endregion #region ■ 慢关闭_____________________________ /// /// 添加慢关闭行 /// /// private void AddSlowCloseRow(VerticalListControl listView) { var listTime = new List(); var miao = Language.StringByID(R.MyInternationalizationString.uSecond); for (int i = 0; i <= 10; i++) { listTime.Add(i + miao); } int index = listTime.IndexOf(this.pirConfigure.dimmerOffTime + miao); //慢关闭 var row3 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row3); var btnCaption3 = row3.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uSlowClose), 400); btnCaption3.TextSize = 15; row3.AddRightArrow(); var btnStatu3 = row3.AddMostRightView(pirConfigure.dimmerOffTime + miao, 400); row3.ButtonClickEvent += (sender, e) => { PickerView.Show(listTime, (value) => { btnStatu3.Text = listTime[value]; pirConfigure.dimmerOffTime = Convert.ToInt32(listTime[value].Replace(miao, string.Empty)); }, index == -1 ? 0 : index, btnCaption3.Text, Language.StringByID(R.MyInternationalizationString.uFinish), Language.StringByID(R.MyInternationalizationString.uCancel)); }; } #endregion } }