using System; using System.Collections.Generic; using System.Text; using ZigBee.Device; namespace Shared.Phone.UserCenter.DevicePanel { /// /// 方悦环境面板的亮度调节界面 /// public class PanelFangyueEnvironmentLightSettionForm : EditorCommonForm { #region ■ 变量声明___________________________ /// /// 设备的某一回路 /// private CommonDevice deviceObj = null; #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// /// 设备的某一回路 public void ShowForm(CommonDevice i_device) { //左滑使能不可 this.ScrollEnabled = false; this.deviceObj = i_device; //设置头部信息 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uLightRegulation)); //初始化中部信息 this.InitMiddleFrame(); } /// /// 初始化中部信息 /// private void InitMiddleFrame() { //清空bodyFrame this.ClearBodyFrame(); //添加屏幕亮度级别控件 this.AddScreenBrightnesLevelControl(); //添加背光灯亮度控件 this.AddBackLightControl(); //添加节能模式控件 this.AddEnergyConservationControl(); //保存 var btnSave = new BottomClickButton(); btnSave.TextID = R.MyInternationalizationString.uSave; bodyFrameLayout.AddChidren(btnSave); btnSave.ButtonClickEvent += (sender, e) => { //保存配置 this.SaveSettionData(); }; } #endregion #region ■ 屏幕亮度级别_______________________ /// /// 添加屏幕亮度级别控件 /// private void AddScreenBrightnesLevelControl() { var frameBack = new FrameLayout(); frameBack.Height = Application.GetRealHeight(429); frameBack.BackgroundColor = UserCenterColor.Current.White; bodyFrameLayout.AddChidren(frameBack); //屏幕亮度级别 var btnLevelView = new NormalViewControl(400, 60, true); btnLevelView.X = ControlCommonResourse.XXLeft; btnLevelView.Y = Application.GetRealHeight(54); btnLevelView.TextID = R.MyInternationalizationString.uScreenBrightnesLevel; frameBack.AddChidren(btnLevelView); //?级 string strRank = Language.StringByID(R.MyInternationalizationString.uRank); var btnLevel = new NormalViewControl(167, 60, true); btnLevel.X = Application.GetRealWidth(855); btnLevel.Y = Application.GetRealHeight(54); btnLevel.TextAlignment = TextAlignment.CenterRight; btnLevel.TextColor = UserCenterColor.Current.TextGrayColor1; btnLevel.Text = "3" + strRank; frameBack.AddChidren(btnLevel); //当前亮度 var btnProgressView1 = new NormalViewControl(200, 50, true); btnProgressView1.X = ControlCommonResourse.XXLeft; btnProgressView1.Y = Application.GetRealHeight(157); btnProgressView1.TextSize = 12; btnProgressView1.TextColor = UserCenterColor.Current.TextGrayColor1; btnProgressView1.TextID = R.MyInternationalizationString.uNowLuminance; frameBack.AddChidren(btnProgressView1); var btnProgress1 = new NormalViewControl(200, 50, true); btnProgress1.X = Application.GetRealWidth(222); btnProgress1.Y = Application.GetRealHeight(157); btnProgress1.TextSize = 12; btnProgress1.TextColor = UserCenterColor.Current.TextGrayColor1; btnProgress1.Text = "4"; frameBack.AddChidren(btnProgress1); //进度条 var seekBar1 = new SeekBarControl(); seekBar1.MaxValue = 5; seekBar1.ProgressBarColor = 0xff3e99f4; seekBar1.Y = Application.GetRealHeight(253); frameBack.AddChidren(seekBar1); seekBar1.ProgressChangedEvent += (div, value) => { btnProgress1.Text = value.ToString(); //数据变更 }; //seekBar1.Progress = linghtLevelInfo.panelBacklightLevel; var btnTemp1 = new NormalViewControl(200, 50, true); btnTemp1.X = ControlCommonResourse.XXLeft; btnTemp1.Y = Application.GetRealHeight(322); btnTemp1.TextSize = 12; btnTemp1.TextColor = UserCenterColor.Current.TextGrayColor3; btnTemp1.Text = "0"; frameBack.AddChidren(btnTemp1); var btnTemp2 = new NormalViewControl(100, 50, true); btnTemp2.X = frameBack.Width - ControlCommonResourse.XXLeft - Application.GetRealWidth(100); btnTemp2.Y = Application.GetRealHeight(322); btnTemp2.TextAlignment = TextAlignment.CenterRight; btnTemp2.TextSize = 12; btnTemp2.TextColor = UserCenterColor.Current.TextGrayColor3; btnTemp2.Text = "5"; frameBack.AddChidren(btnTemp2); } #endregion #region ■ 背光灯亮度_________________________ /// /// 添加背光灯亮度控件 /// private void AddBackLightControl() { //背景 var frameBack = new FrameLayout(); frameBack.Y = Application.GetRealHeight(490); frameBack.Height = Application.GetRealHeight(429); frameBack.BackgroundColor = UserCenterColor.Current.White; bodyFrameLayout.AddChidren(frameBack); //背光灯亮度 var btnLevelView = new NormalViewControl(400, 60, true); btnLevelView.X = ControlCommonResourse.XXLeft; btnLevelView.Y = Application.GetRealHeight(54); btnLevelView.TextID = R.MyInternationalizationString.uBacklightBrightness; frameBack.AddChidren(btnLevelView); //当前亮度 var btnProgressView1 = new NormalViewControl(200, 50, true); btnProgressView1.X = ControlCommonResourse.XXLeft; btnProgressView1.Y = Application.GetRealHeight(157); btnProgressView1.TextSize = 12; btnProgressView1.TextColor = UserCenterColor.Current.TextGrayColor1; btnProgressView1.TextID = R.MyInternationalizationString.uNowLuminance; frameBack.AddChidren(btnProgressView1); var btnProgress1 = new NormalViewControl(200, 50, true); btnProgress1.X = Application.GetRealWidth(222); btnProgress1.Y = Application.GetRealHeight(157); btnProgress1.TextSize = 12; btnProgress1.TextColor = UserCenterColor.Current.TextGrayColor1; btnProgress1.Text = "70%"; frameBack.AddChidren(btnProgress1); //进度条 var seekBar1 = new SeekBarControl(); seekBar1.Y = Application.GetRealHeight(253); frameBack.AddChidren(seekBar1); seekBar1.ProgressChangedEvent += (div, value) => { btnProgress1.Text = value + "%"; //数据变更 }; //seekBar1.Progress = linghtLevelInfo.panelBacklightLevel; var btnTemp1 = new NormalViewControl(200, 50, true); btnTemp1.X = ControlCommonResourse.XXLeft; btnTemp1.Y = Application.GetRealHeight(322); btnTemp1.TextSize = 12; btnTemp1.TextColor = UserCenterColor.Current.TextGrayColor3; btnTemp1.Text = "0%"; frameBack.AddChidren(btnTemp1); var btnTemp2 = new NormalViewControl(200, 50, true); btnTemp2.X = frameBack.Width - ControlCommonResourse.XXLeft - Application.GetRealWidth(200); btnTemp2.Y = Application.GetRealHeight(322); btnTemp2.TextAlignment = TextAlignment.CenterRight; btnTemp2.TextSize = 12; btnTemp2.TextColor = UserCenterColor.Current.TextGrayColor3; btnTemp2.Text = "100%"; frameBack.AddChidren(btnTemp2); var frameColor = new FrameLayoutStatuControl(); frameColor.UseClickStatu = false; frameColor.Width = Application.GetRealHeight(262); frameColor.Height = this.GetPictrueRealSize(79); frameColor.Y = Application.GetRealHeight(26); frameColor.X = frameBack.Width - ControlCommonResourse.XXLeft - Application.GetRealHeight(262); frameBack.AddChidren(frameColor); //颜色 var btnColorView = new NormalViewControl(Application.GetRealHeight(110), this.GetPictrueRealSize(50), false); btnColorView.Gravity = Gravity.CenterVertical; btnColorView.TextAlignment = TextAlignment.CenterRight; btnColorView.TextSize = 12; btnColorView.Y = Application.GetRealHeight(5); btnColorView.TextColor = UserCenterColor.Current.TextGrayColor1; btnColorView.TextID = R.MyInternationalizationString.uColor; frameColor.AddChidren(btnColorView, ChidrenBindMode.BindEvent); int R1 = Convert.ToInt32("d8", 16); int G1 = Convert.ToInt32("95", 16); int B1 = Convert.ToInt32("e3", 16); uint backColor = this.GetColorByRGB((byte)R1, (byte)G1, (byte)B1); //颜色外框 var frameColorLine = new FrameLayoutStatuControl(); frameColorLine.UseClickStatu = false; frameColorLine.Height = this.GetPictrueRealSize(79); frameColorLine.Width = this.GetPictrueRealSize(79); frameColorLine.Radius = (uint)this.GetPictrueRealSize(79) / 2; frameColorLine.BorderWidth = 1; frameColorLine.BorderColor = 0xffcccccc; frameColor.AddChidren(frameColorLine, ChidrenBindMode.NotBind); //分两步计算,不然有可能它得出的结果有误差导致不居中 int btnColorWidth = frameColorLine.Height - this.GetPictrueRealSize(7) - this.GetPictrueRealSize(7); var btnColor = new NormalViewControl(btnColorWidth, btnColorWidth, false); btnColor.Gravity = Gravity.Center; btnColor.Radius = (uint)btnColorWidth / 2; btnColor.BackgroundColor = UserCenterColor.Current.ErrorColor; frameColorLine.AddChidren(btnColor, ChidrenBindMode.NotBind); frameColor.ChangedChidrenBindMode(frameColorLine, ChidrenBindMode.BindEvent); //变更滑动条的颜色 seekBar1.ProgressBarColor = backColor; var btnRight = new NormalViewControl(this.GetPictrueRealSize(58), this.GetPictrueRealSize(58), false); btnRight.UnSelectedImagePath = "Item/RightNext.png"; btnRight.Y = Application.GetRealHeight(5); btnRight.X = frameColor.Width - this.GetPictrueRealSize(58); frameColor.AddChidren(btnRight, ChidrenBindMode.BindEvent); btnRight.Y += this.GetPictrueRealSize(8); frameColor.ButtonClickEvent += (sender, e) => { var form = new PanelColorSelectForm(); form.AddForm(R1, G1, B1); form.FinishSelectColorEvent += (Rcolor, Gcolor, Bcolor) => { R1 = Rcolor; G1 = Gcolor; B1 = Bcolor; //this.keyColorData.CloseColorR = Convert.ToString(Rcolor, 16); //this.keyColorData.CloseColorG = Convert.ToString(Gcolor, 16); //this.keyColorData.CloseColorB = Convert.ToString(Bcolor, 16); btnColor.BackgroundColor = this.GetColorByRGB((byte)Rcolor, (byte)Gcolor, (byte)Bcolor); //变更滑动条的颜色 seekBar1.ProgressBarColor = btnColor.BackgroundColor; }; }; } #endregion #region ■ 节能模式___________________________ /// /// 添加节能模式控件 /// private void AddEnergyConservationControl() { //缩小:170 扩大:429 var frameBack = new FrameRowControl(); frameBack.Y = Application.GetRealHeight(976); frameBack.BackgroundColor = UserCenterColor.Current.White; frameBack.UseClickStatu = false; frameBack.Height = Application.GetRealHeight(170); bodyFrameLayout.AddChidren(frameBack); //节能模式 frameBack.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uEnergyConservationMode), 400); //开关控件 var btnSwitch = frameBack.AddMostRightSwitchIcon(); btnSwitch.ButtonClickEvent += (sender, e) => { btnSwitch.IsSelected = !btnSwitch.IsSelected; //展开或者缩小的高度 var value = Application.GetRealHeight(259); if (btnSwitch.IsSelected == true) { frameBack.Height += value; } else { frameBack.Height -= value; } }; //当前亮度 var btnProgressView1 = new NormalViewControl(200, 50, true); btnProgressView1.X = ControlCommonResourse.XXLeft; btnProgressView1.Y = Application.GetRealHeight(162); btnProgressView1.TextSize = 12; btnProgressView1.TextColor = UserCenterColor.Current.TextGrayColor1; btnProgressView1.TextID = R.MyInternationalizationString.uNowLuminance; frameBack.AddChidren(btnProgressView1); var btnProgress1 = new NormalViewControl(200, 50, true); btnProgress1.X = Application.GetRealWidth(222); btnProgress1.Y = Application.GetRealHeight(162); btnProgress1.TextSize = 12; btnProgress1.TextColor = UserCenterColor.Current.TextGrayColor1; btnProgress1.Text = "50%"; frameBack.AddChidren(btnProgress1); //进度条 var seekBar1 = new SeekBarControl(); seekBar1.Y = Application.GetRealHeight(253); seekBar1.ProgressBarColor = 0xff3e99f4; frameBack.AddChidren(seekBar1); seekBar1.ProgressChangedEvent += (div, value) => { btnProgress1.Text = value + "%"; }; //seekBar1.Progress = energyModeInfo.level; var btnTemp1 = new NormalViewControl(200, 50, true); btnTemp1.X = ControlCommonResourse.XXLeft; btnTemp1.Y = Application.GetRealHeight(325); btnTemp1.TextSize = 12; btnTemp1.TextColor = UserCenterColor.Current.TextGrayColor3; btnTemp1.Text = "0%"; frameBack.AddChidren(btnTemp1); var btnTemp2 = new NormalViewControl(200, 50, true); btnTemp2.X = frameBack.Width - ControlCommonResourse.XXLeft - Application.GetRealWidth(200); btnTemp2.Y = Application.GetRealHeight(325); btnTemp2.TextAlignment = TextAlignment.CenterRight; btnTemp2.TextSize = 12; btnTemp2.TextColor = UserCenterColor.Current.TextGrayColor3; btnTemp2.Text = "100%"; frameBack.AddChidren(btnTemp2); } #endregion #region ■ 保存配置___________________________ /// /// 保存配置 /// private void SaveSettionData() { this.CloseForm(); } #endregion #region ■ 一般方法___________________________ /// /// 将RGB转换为颜色 /// /// /// /// /// private uint GetColorByRGB(byte R, byte G, byte B) { return (uint)(0xFF000000 + R * 256 * 256 + G * 256 + B); } #endregion } }