| | |
| | | using System;
|
| | | using System.Collections.Generic;
|
| | | using System.Threading.Tasks;
|
| | | using ZigBee.Device;
|
| | | namespace Shared.Phone.UserCenter.DevicePanel
|
| | |
| | | /// 按键的颜色数据
|
| | | /// </summary>
|
| | | private Panel.KeyColorData keyColorData = null;
|
| | |
|
| | | /// <summary>
|
| | | /// 选择睡眠时间的事件 value:索引(从0开始) 文本信息请用Text获取
|
| | | /// </summary>
|
| | | public Action<int> timeAction = null;
|
| | | /// <summary>
|
| | | /// 当前选择的功能类型索引
|
| | | /// </summary>
|
| | | private int nowSelectNo = 0;
|
| | | /// <summary>
|
| | | /// /// <summary>
|
| | | /// 睡眠时间的值
|
| | | /// </summary>
|
| | | /// </summary>
|
| | | public string sleepTimeText
|
| | | {
|
| | | get { return btnSleepTime.Text; }
|
| | | set { btnSleepTime.Text = value; }
|
| | | }
|
| | | /// <summary>
|
| | | ///睡眠时间 |
| | | /// </summary>
|
| | | public NormalViewControl btnSleepTime = null;
|
| | | #endregion
|
| | |
|
| | | #region ■ 初始化_____________________________
|
| | |
| | | listview = new VerticalScrolViewLayout();
|
| | | listview.Height = Application.GetRealHeight(1981 - 184);
|
| | | bodyFrameLayout.AddChidren(listview);
|
| | | listview.ScrollEnabled = false;
|
| | |
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | |
| | | //添加屏幕亮度级别控件
|
| | | this.AddScreenBrightnesLevelControl();
|
| | |
|
| | | //添加新风面板的颜色
|
| | | this.AddColorControl();
|
| | | //获取设备类型的
|
| | | var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { panelDevice });
|
| | | if (deviceEnumInfo.ConcreteType != Common.DeviceConcreteType.ButtonPanel_SimpleEnvironment)
|
| | | {
|
| | | //添加面板的颜色
|
| | | this.AddColorControl();
|
| | | }
|
| | |
|
| | | this.FinishInitControl(listview, energyModeInfo.enable);
|
| | |
|
| | | //保存
|
| | | var btnSave = new BottomClickButton();
|
| | |
| | |
|
| | | //进度条
|
| | | var seekBar1 = new SeekBarControl();
|
| | | seekBar1.SeekBarPadding = 25;
|
| | | seekBar1.MaxValue = 5;
|
| | | seekBar1.ProgressBarColor = 0xff3e99f4;
|
| | | seekBar1.Y = Application.GetRealHeight(253);
|
| | |
| | | btnLevel.Text = "5" + strRank;
|
| | | break;
|
| | | }
|
| | | listview.ScrollEnabled = false;
|
| | | };
|
| | |
|
| | | seekBar1.OnStopTrackingTouchEvent += (sender, e) =>
|
| | | {
|
| | | listview.ScrollEnabled = true;
|
| | | };
|
| | | seekBar1.OnStopTrackingTouchEvent += (div, value) =>
|
| | | {
|
| | | if (value == 0)
|
| | |
| | | btnSwitch.IsSelected = !btnSwitch.IsSelected;
|
| | | energyModeInfo.enable = btnSwitch.IsSelected;
|
| | | //展开或者缩小的高度
|
| | | var value = Application.GetRealHeight(443);
|
| | | var value = Application.GetRealHeight(614);
|
| | | if (btnSwitch.IsSelected == true)
|
| | | {
|
| | | frameBack.Height += value;
|
| | |
| | | {
|
| | | frameBack.Height -= value;
|
| | | }
|
| | | this.FinishInitControl(listview, energyModeInfo.enable);
|
| | | };
|
| | | if (energyModeInfo.enable == true)
|
| | | {
|
| | |
| | | var seekBar1 = new SeekBarControl();
|
| | | seekBar1.Y = Application.GetRealHeight(253);
|
| | | seekBar1.ProgressBarColor = 0xff3e99f4;
|
| | | seekBar1.SeekBarPadding = 25;
|
| | | frameBack.AddChidren(seekBar1);
|
| | | seekBar1.ProgressChangedEvent += (div, value) =>
|
| | | {
|
| | | btnProgress1.Text = value + "%";
|
| | | //数据变更
|
| | | energyModeInfo.level = value;
|
| | | listview.ScrollEnabled = false;
|
| | | };
|
| | | seekBar1.OnStopTrackingTouchEvent += (sender, e) =>
|
| | | {
|
| | | listview.ScrollEnabled = true;
|
| | | };
|
| | | seekBar1.Progress = energyModeInfo.level;
|
| | |
|
| | |
| | | if (energyModeInfo.enable == true)
|
| | | {
|
| | | //展开或者缩小的高度
|
| | | var value = Application.GetRealHeight(443);
|
| | | var value = Application.GetRealHeight(614);
|
| | | frameBack.Height += value;
|
| | | }
|
| | | //添加接近感应
|
| | | this.AddProximitySensorsRow(frameBack);
|
| | | //底线 |
| | | var btnLine = new NormalViewControl(965, 5, true);
|
| | | btnLine.Height = 1;
|
| | | btnLine.X = Application.GetRealWidth(52);
|
| | | btnLine.Y = Application.GetRealHeight(484 + 127);
|
| | | btnLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
|
| | | frameBack.AddChidren(btnLine);
|
| | |
|
| | | //添加睡眠时间
|
| | | this.AddSleepTimeRow(frameBack);
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
| | | btnSwitch.IsSelected = true;
|
| | | }
|
| | | }
|
| | | #endregion
|
| | |
|
| | | #region ■ 睡眠时间___________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 睡眠时间行
|
| | | /// </summary>
|
| | | private void AddSleepTimeRow(FrameRowControl frameRowControl)
|
| | | {
|
| | | //睡眠时间行
|
| | | var frameBack = new FrameRowControl();
|
| | | frameBack.BackgroundColor = UserCenterColor.Current.White;
|
| | | frameBack.UseClickStatu = false;
|
| | | frameBack.Y = Application.GetRealHeight(784 - 170);
|
| | | frameBack.Height = Application.GetRealHeight(170);
|
| | | frameRowControl.AddChidren(frameBack);
|
| | |
|
| | | //睡眠时间
|
| | | frameBack.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.SleepTime), 400);
|
| | | //右箭头
|
| | | frameBack.AddRightArrow();
|
| | | btnSleepTime = new NormalViewControl(700, true);
|
| | | switch (energyModeInfo.time)
|
| | | {
|
| | | case 15:
|
| | | btnSleepTime.Text = "15s";
|
| | | nowSelectNo = 0;
|
| | | break;
|
| | | case 60:
|
| | | btnSleepTime.Text = "1min";
|
| | | nowSelectNo = 1;
|
| | | break;
|
| | | case 300:
|
| | | btnSleepTime.Text = "5min";
|
| | | nowSelectNo = 2;
|
| | | break;
|
| | | }
|
| | | frameBack.AddMostRightView(this.sleepTimeText, 700);
|
| | |
|
| | | timeAction = null;
|
| | | timeAction += (nowSelectNo) =>
|
| | | {
|
| | | switch (nowSelectNo)
|
| | | {
|
| | | case 0:
|
| | | energyModeInfo.time = 15;
|
| | | break;
|
| | | case 1:
|
| | | energyModeInfo.time = 60;
|
| | | break;
|
| | | case 2:
|
| | | energyModeInfo.time = 300;
|
| | | break;
|
| | | }
|
| | | AddSleepTimeRow(frameRowControl);
|
| | | };
|
| | | frameBack.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | this.ShowSelectDeviceSleepTimeListForm();
|
| | | };
|
| | | }
|
| | |
|
| | | #region ■ 显示选择设备睡眠时间_______________ |
| | | /// <summary>
|
| | | /// 显示选择设备睡眠时间的界面
|
| | | /// </summary>
|
| | | public void ShowSelectDeviceSleepTimeListForm()
|
| | | {
|
| | | //显示列表
|
| | | var listText = new List<string>();
|
| | | listText.Add("15s");
|
| | | listText.Add("1min");
|
| | | listText.Add("5min");
|
| | | //标题:选择功能类型
|
| | | var title = Language.StringByID(R.MyInternationalizationString.SleepTime);
|
| | |
|
| | | var form = new BottomItemSelectForm();
|
| | | form.CancelCallEvent = false;//允许取消
|
| | | form.AddForm(title, listText, nowSelectNo);
|
| | | form.FinishSelectEvent += (selectNo) =>
|
| | | {
|
| | | if (selectNo == nowSelectNo)
|
| | | {
|
| | | //选择的是相同的
|
| | | return;
|
| | | }
|
| | | //-1:选择取消
|
| | | this.sleepTimeText = selectNo == -1 ? string.Empty : listText[selectNo];
|
| | | nowSelectNo = selectNo;
|
| | | //调用回调函数
|
| | | this.timeAction?.Invoke(nowSelectNo);
|
| | | };
|
| | | }
|
| | | #endregion
|
| | | #endregion
|
| | |
|
| | | #region ■ 获取初始数据_______________________
|
| | |
| | | this.ShowProgressBar();
|
| | |
|
| | | //节能模式修改(他们说随便一个回路就行)
|
| | | //设备同事说新风面板默认60秒时间,这样接近感应功能才合理
|
| | | energyModeInfo.time = 60;
|
| | |
|
| | | var result = HdlDevicePanelLogic.Current.SetDeviceEnergyConservationMode(panelDevice, energyModeInfo.enable, energyModeInfo.time, energyModeInfo.level);
|
| | | if (result == false)
|
| | | {
|