| | |
| | | /// 上一级界面的收藏控件 |
| | | /// </summary> |
| | | private Button btnCollectionIcon; |
| | | |
| | | /// <summary> |
| | | /// 头部布局 |
| | | /// </summary> |
| | | private TopView topView; |
| | | BaseFramLayout baseCloseFFL; |
| | | /// <summary> |
| | | ///中部布局 |
| | | /// </summary> |
| | | VerticalScrolViewLayout vv; |
| | | /// <summary> |
| | | /// 当前设备名称 |
| | |
| | | /// </summary> |
| | | private Button btnOpenCollectIcon; |
| | | CustomFrameLayout shouyeFL; |
| | | CustomFrameLayout kaiguanFL; |
| | | CustomFrameLayout caidanFL; |
| | | CustomFrameLayout kaijiFL; |
| | | CustomFrameLayout guanFL; |
| | | Button btn_jia; |
| | | Button btn_jian; |
| | | CustomButton caidanBtn; |
| | | CustomButton bofangBtn; |
| | | CustomButton zantingBtn; |
| | | CustomButton kuaijinBtn; |
| | |
| | | CustomButton fanhuiBtn; |
| | | MenuFramLayout muenFrameLayout; |
| | | SourceFrameLayout sourceFrameLayout; |
| | | |
| | | |
| | | Button btnCloseCollectIcon; |
| | | Button btnCloseCurrDeviceName; |
| | | Button btnCloseCurrDeviceRoom; |
| | | Button clickBtn; |
| | | |
| | | /// <summary> |
| | | /// 表示来自那个界面 |
| | |
| | | //初始化UI |
| | | this.InitTopUI(); |
| | | this.InitOpenUI(); |
| | | this.InitCloseUI(); |
| | | this.CurrentAssignPage(); |
| | | //初始化事件 |
| | | this.EventListener(); |
| | | //读取数据 |
| | | this.ReadData(); |
| | | //this.ReadData(); |
| | | |
| | | } |
| | | |
| | |
| | | // |
| | | this.btnOpenCurrDeviceName.Text = this.device.name; |
| | | this.btnOpenCurrDeviceRoom.Text = this.device.GetRoomListName(); |
| | | // |
| | | this.btnCloseCurrDeviceName.Text = this.device.name; |
| | | this.btnCloseCurrDeviceRoom.Text = this.device.GetRoomListName(); |
| | | this.CalculatedPosition();//重新计算宽度 |
| | | |
| | | }); |
| | |
| | | { |
| | | btnOpenCollectIcon.IsSelected = this.device.collect = !btnOpenCollectIcon.IsSelected; |
| | | this.device.CollectFunction(); |
| | | btnCloseCollectIcon.IsSelected = btnOpenCollectIcon.IsSelected; |
| | | this.btnCollectionIcon.IsSelected = btnOpenCollectIcon.IsSelected; |
| | | }; |
| | | |
| | |
| | | { |
| | | ControlCommand(HisenseTVFunctionalAttributeConstant.home_page, ""); |
| | | }); |
| | | //关机 |
| | | kaiguanFL.SetClickListener((fl, btnImage, btnText) => |
| | | //开机 |
| | | kaijiFL.SetClickListener((fl, btnImage, btnText) => |
| | | { |
| | | ControlCommand(HisenseTVFunctionalAttributeConstant.on_off, "off", (isBool) => |
| | | { |
| | | if (isBool) |
| | | { |
| | | CommonMethod.Current.MainThread(() => |
| | | { |
| | | vv.Visible = false; |
| | | baseCloseFFL.Visible = true; |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | //提示:关机失败; |
| | | } |
| | | }); |
| | | ControlCommand(HisenseTVFunctionalAttributeConstant.on_off, "on"); |
| | | }); |
| | | //菜单 |
| | | caidanFL.SetClickListener((fl, btnImage, btnText) => |
| | | //关机 |
| | | guanFL.SetClickListener((fl, btnImage, btnText) => |
| | | { |
| | | ControlCommand(HisenseTVFunctionalAttributeConstant.operation, "11"); |
| | | ControlCommand(HisenseTVFunctionalAttributeConstant.on_off, "off"); |
| | | |
| | | }); |
| | | //音量+ |
| | | btn_jia.MouseDownEventHandler += (sender, e) => |
| | | { |
| | | btn_jia.IsSelected = true; |
| | | ControlCommand(HisenseTVFunctionalAttributeConstant.volume_add, ""); |
| | | |
| | | }; |
| | | //音量- |
| | | btn_jian.MouseDownEventHandler += (sender, e) => |
| | | { |
| | | btn_jian.IsSelected = true; |
| | | ControlCommand(HisenseTVFunctionalAttributeConstant.volume_subtract, ""); |
| | | }; |
| | | //菜单 |
| | | caidanBtn.SetClickListener((btn) => |
| | | { |
| | | ControlCommand(HisenseTVFunctionalAttributeConstant.operation, "11"); |
| | | |
| | | }); |
| | | //播放 |
| | | bofangBtn.SetClickListener((btn) => |
| | | { |
| | |
| | | var dic = p.GetHisenseSignalSourceDic(); |
| | | string value = p.GetValue(dic, key); |
| | | ControlCommand(HisenseTVFunctionalAttributeConstant.signal, value); |
| | | }; |
| | | |
| | | |
| | | //收藏(关机) |
| | | this.btnCloseCollectIcon.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | btnCloseCollectIcon.IsSelected = this.device.collect = !btnCloseCollectIcon.IsSelected; |
| | | this.device.CollectFunction(); |
| | | btnOpenCollectIcon.IsSelected = btnCloseCollectIcon.IsSelected; |
| | | this.btnCollectionIcon.IsSelected = btnCloseCollectIcon.IsSelected; |
| | | }; |
| | | //开机 |
| | | clickBtn.MouseDownEventHandler += (sen, e) => |
| | | { |
| | | ControlCommand(HisenseTVFunctionalAttributeConstant.on_off, "on", (isBool) => |
| | | { |
| | | if (isBool) |
| | | { |
| | | CommonMethod.Current.MainThread(() => |
| | | { |
| | | vv.Visible = true; |
| | | baseCloseFFL.Visible = false; |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | //提示:开机失败; |
| | | } |
| | | }); |
| | | |
| | | }; |
| | | |
| | | } |
| | |
| | | shouyeFL.AddImageView(); |
| | | shouyeFL.AddTextButtonView(); |
| | | shouyeFL.GetImageButton().UnSelectedImagePath = "HisenseTv/shouye.png"; |
| | | shouyeFL.GetImageButton().SelectedImagePath = "HisenseTv/shouyeSelected.png"; |
| | | shouyeFL.GetTextButton().TextID = StringId.shouye; |
| | | |
| | | |
| | | kaiguanFL = new CustomFrameLayout(); |
| | | backgroundOpenFl.AddChidren(kaiguanFL); |
| | | kaiguanFL.X = shouyeFL.Right + Application.GetRealWidth(37); |
| | | kaiguanFL.Y = yHeight; |
| | | kaiguanFL.AddImageView(); |
| | | kaiguanFL.AddTextButtonView(); |
| | | kaiguanFL.GetImageButton().UnSelectedImagePath = "HisenseTv/kaiguan.png"; |
| | | kaiguanFL.GetTextButton().TextID = StringId.guanji; |
| | | kaijiFL = new CustomFrameLayout(); |
| | | backgroundOpenFl.AddChidren(kaijiFL); |
| | | kaijiFL.X = shouyeFL.Right + Application.GetRealWidth(37); |
| | | kaijiFL.Y = yHeight; |
| | | kaijiFL.AddImageView(); |
| | | kaijiFL.AddTextButtonView(); |
| | | kaijiFL.GetImageButton().UnSelectedImagePath = "HisenseTv/kai.png"; |
| | | kaijiFL.GetImageButton().SelectedImagePath = "HisenseTv/kaiguanSelected.png"; |
| | | kaijiFL.GetTextButton().TextID = StringId.kaiji; |
| | | |
| | | caidanFL = new CustomFrameLayout(); |
| | | backgroundOpenFl.AddChidren(caidanFL); |
| | | caidanFL.X = kaiguanFL.Right + Application.GetRealWidth(37); |
| | | caidanFL.Y = yHeight; |
| | | caidanFL.AddImageView(); |
| | | caidanFL.AddTextButtonView(); |
| | | caidanFL.GetImageButton().UnSelectedImagePath = "HisenseTv/caidan.png"; |
| | | caidanFL.GetTextButton().TextID = StringId.caidan; |
| | | guanFL = new CustomFrameLayout(); |
| | | backgroundOpenFl.AddChidren(guanFL); |
| | | guanFL.X = kaijiFL.Right + Application.GetRealWidth(37); |
| | | guanFL.Y = yHeight; |
| | | guanFL.AddImageView(); |
| | | guanFL.AddTextButtonView(); |
| | | guanFL.GetImageButton().UnSelectedImagePath = "HisenseTv/guan.png"; |
| | | guanFL.GetImageButton().SelectedImagePath = "HisenseTv/kaiguanSelected.png"; |
| | | //guanFL.GetImageButton().UnSelectedImagePath = "HisenseTv/caidan.png"; |
| | | guanFL.GetTextButton().TextID = StringId.guanji; |
| | | |
| | | var yinliangFL = new FrameLayout(); |
| | | backgroundOpenFl.AddChidren(yinliangFL); |
| | | yinliangFL.Height = Application.GetRealHeight(200); |
| | | yinliangFL.Height = Application.GetRealHeight(146); |
| | | yinliangFL.Width = Application.GetRealWidth(68); |
| | | yinliangFL.Y = shouyeFL.Bottom + Application.GetRealHeight(24); |
| | | yinliangFL.Y = Application.GetRealHeight(260); |
| | | yinliangFL.X = shouyeFL.X; |
| | | yinliangFL.BackgroundColor = 0xffF2F3F7; |
| | | yinliangFL.Radius = (uint)Application.GetRealHeight(34); |
| | |
| | | Width = Application.GetRealWidth(32), |
| | | Height = Application.GetRealWidth(32), |
| | | UnSelectedImagePath = "HisenseTv/yingliangjia.png", |
| | | Y = Application.GetRealHeight(20), |
| | | SelectedImagePath = "HisenseTv/yingliangjiaSelected.png", |
| | | Y = Application.GetRealHeight(16), |
| | | Gravity = Gravity.CenterHorizontal, |
| | | |
| | | }; |
| | | yinliangFL.AddChidren(btn_jia); |
| | | Button btnText = new Button |
| | | { |
| | | Y = Application.GetRealHeight(90), |
| | | Y = Application.GetRealHeight(63), |
| | | Height = Application.GetRealHeight(20), |
| | | //Text = "音量", |
| | | TextID = StringId.yinliang, |
| | |
| | | yinliangFL.AddChidren(btnText); |
| | | btn_jian = new Button |
| | | { |
| | | Y = Application.GetRealHeight(148), |
| | | Y = Application.GetRealHeight(98), |
| | | Width = Application.GetRealWidth(32), |
| | | Height = Application.GetRealWidth(32), |
| | | UnSelectedImagePath = "HisenseTv/yingliangjian.png", |
| | | SelectedImagePath = "HisenseTv/yingliangjianSelected.png", |
| | | Gravity = Gravity.CenterHorizontal, |
| | | |
| | | }; |
| | | yinliangFL.AddChidren(btn_jian); |
| | | btn_jia.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | btn_jia.IsSelected = false; |
| | | |
| | | }; |
| | | btn_jian.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | |
| | | btn_jian.IsSelected = false; |
| | | }; |
| | | |
| | | caidanBtn = new CustomButton(); |
| | | caidanBtn.TextID = StringId.caidan; |
| | | caidanBtn.Y = shouyeFL.Bottom + Application.GetRealHeight(24); |
| | | caidanBtn.X = shouyeFL.X; |
| | | backgroundOpenFl.AddChidren(caidanBtn); |
| | | |
| | | bofangBtn = new CustomButton(); |
| | | bofangBtn.TextID = StringId.bofang; |
| | |
| | | #endregion |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 初始化【关机】界面 |
| | | /// </summary> |
| | | private void InitCloseUI() |
| | | { |
| | | #region ---界面布局--- |
| | | |
| | | baseCloseFFL = new BaseFramLayout |
| | | { |
| | | Y = topView.fLayout.Bottom, |
| | | Height = Application.GetRealHeight(H_W.H - H_W.T_Height), |
| | | }; |
| | | this.AddChidren(baseCloseFFL); |
| | | var backgroundCloseFl = new FrameLayout |
| | | { |
| | | Y = Application.GetRealHeight(24), |
| | | X = Application.GetRealWidth(24), |
| | | Height = Application.GetRealHeight(526), |
| | | Width = Application.GetRealWidth(327), |
| | | BackgroundImagePath = "HisenseTv/offbj.png", |
| | | }; |
| | | baseCloseFFL.AddChidren(backgroundCloseFl); |
| | | baseCloseFFL.AdjustRealHeight(16); |
| | | |
| | | btnCloseCollectIcon = new Button |
| | | { |
| | | X = Application.GetRealWidth(273), |
| | | Y = Application.GetRealHeight(14), |
| | | Width = Application.GetRealWidth(40), |
| | | Height = Application.GetRealWidth(40), |
| | | UnSelectedImagePath = "MusicIcon/collect.png", |
| | | SelectedImagePath = "MusicIcon/collectSelected.png", |
| | | IsSelected = this.device.collect, |
| | | }; |
| | | backgroundCloseFl.AddChidren(btnCloseCollectIcon); |
| | | |
| | | btnCloseCurrDeviceName = new Button |
| | | { |
| | | TextSize = TextSize.Text24, |
| | | TextColor = MusicColor.Text18Color, |
| | | Width = Application.GetRealWidth(160), |
| | | Height = Application.GetRealHeight(33), |
| | | Y = Application.GetRealHeight(16), |
| | | X = Application.GetRealWidth(16), |
| | | Text = this.device.name, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | IsBold = true |
| | | }; |
| | | backgroundCloseFl.AddChidren(btnCloseCurrDeviceName); |
| | | |
| | | |
| | | btnCloseCurrDeviceRoom = new Button |
| | | { |
| | | TextSize = TextSize.Text12, |
| | | TextColor = MusicColor.MusicNoTxetColor, |
| | | Width = Application.GetRealWidth(160), |
| | | Height = Application.GetRealHeight(17), |
| | | Y = btnCloseCurrDeviceName.Bottom + Application.GetRealHeight(4), |
| | | X = Application.GetRealWidth(16), |
| | | Text = this.device.GetRoomListName(), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | backgroundCloseFl.AddChidren(btnCloseCurrDeviceRoom); |
| | | |
| | | var btnOffTvBj = new Button |
| | | { |
| | | Y = Application.GetRealHeight(108), |
| | | Height = Application.GetRealWidth(198), |
| | | Width = Application.GetRealWidth(198), |
| | | UnSelectedImagePath = "HisenseTv/offtvbj.png", |
| | | Gravity = Gravity.CenterHorizontal, |
| | | }; |
| | | backgroundCloseFl.AddChidren(btnOffTvBj); |
| | | |
| | | |
| | | var btnText = new Button |
| | | { |
| | | Y = btnOffTvBj.Bottom + Application.GetRealHeight(20), |
| | | Width = Application.GetRealWidth(200), |
| | | Height = Application.GetRealHeight(22), |
| | | TextSize = TextSize.Text16, |
| | | TextColor = MusicColor.TextColor, |
| | | //Text = "已关机", |
| | | TextID = StringId.yiguanji, |
| | | TextAlignment = TextAlignment.Center, |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Padding = new Padding(0, 16, 0, 16), |
| | | |
| | | }; |
| | | backgroundCloseFl.AddChidren(btnText); |
| | | |
| | | |
| | | var offFl = new FrameLayout |
| | | { |
| | | Y = btnText.Bottom + Application.GetRealHeight(91), |
| | | Width = Application.GetRealHeight(32), |
| | | Height = Application.GetRealWidth(32 + 20), |
| | | Gravity = Gravity.CenterHorizontal, |
| | | }; |
| | | backgroundCloseFl.AddChidren(offFl); |
| | | |
| | | var btnOffIcon = new Button |
| | | { |
| | | Height = Application.GetRealWidth(32), |
| | | Width = Application.GetRealWidth(32), |
| | | UnSelectedImagePath = "HisenseTv/on.png", |
| | | Gravity = Gravity.CenterHorizontal, |
| | | }; |
| | | offFl.AddChidren(btnOffIcon); |
| | | |
| | | var btnOffText = new Button |
| | | { |
| | | Y = btnOffIcon.Bottom + Application.GetRealHeight(4), |
| | | Height = Application.GetRealHeight(16), |
| | | TextSize = TextSize.Text12, |
| | | TextColor = MusicColor.TextCancelColor, |
| | | TextID = StringId.kaiji, |
| | | TextAlignment = TextAlignment.Center, |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Padding = new Padding(0, 2, 0, 2), |
| | | }; |
| | | offFl.AddChidren(btnOffText); |
| | | |
| | | clickBtn = new Button |
| | | { |
| | | Width = Application.GetRealHeight(32), |
| | | Height = Application.GetRealWidth(32 + 20), |
| | | }; |
| | | offFl.AddChidren(clickBtn); |
| | | #endregion |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 初始化头部 |
| | | /// </summary> |
| | |
| | | this.topView.topNameBtn.TextID = StringId.dianshi; |
| | | this.AddChidren(topView.TopFLayoutView()); |
| | | } |
| | | /// <summary> |
| | | /// 根据设备开关状态显示指定界面 |
| | | /// (进来的时候用到) |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | private void CurrentAssignPage() |
| | | { |
| | | CommonMethod.Current.MainThread(() => |
| | | { |
| | | |
| | | if (this.device == null) |
| | | { |
| | | vv.Visible = false; |
| | | baseCloseFFL.Visible = true; |
| | | return; |
| | | } |
| | | if (this.device.GetAttrState("on_off") == "on" || this.device.GetAttrState("on_off") == "1") |
| | | { |
| | | vv.Visible = true; |
| | | baseCloseFFL.Visible = false; |
| | | } |
| | | else |
| | | { |
| | | vv.Visible = false; |
| | | baseCloseFFL.Visible = true; |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 重新计算宽度(设备名称,房间控件) |
| | |
| | | { |
| | | //重新计算宽度 |
| | | this.btnOpenCurrDeviceRoom.Width = this.btnOpenCollectIcon.X + Application.GetRealWidth(-20 - 10); |
| | | } |
| | | |
| | | |
| | | //关机状态 |
| | | this.btnCloseCurrDeviceName.Width = this.btnCloseCurrDeviceName.GetTextWidth(); |
| | | this.btnCloseCurrDeviceName.Width += 10; |
| | | if (this.btnCloseCurrDeviceName.GetTextWidth() > this.btnCloseCollectIcon.X) |
| | | { |
| | | //重新计算宽度 |
| | | this.btnCloseCurrDeviceName.Width = this.btnCloseCollectIcon.X + Application.GetRealWidth(-10); |
| | | } |
| | | this.btnCloseCurrDeviceRoom.Width = this.btnCloseCurrDeviceRoom.GetTextWidth(); |
| | | this.btnCloseCurrDeviceRoom.Width += 10; |
| | | if (this.btnCloseCurrDeviceRoom.GetTextWidth() > this.btnCloseCollectIcon.X) |
| | | { |
| | | //重新计算宽度 |
| | | this.btnCloseCurrDeviceRoom.Width = this.btnCloseCollectIcon.X + Application.GetRealWidth(-20 - 10); |
| | | } |
| | | //this.cellFrame.X = this.btnCurrDeviceRoom.Right + Application.GetRealWidth(20); |
| | | } |
| | |
| | | TextID = StringId.dangqianmenweiguan, |
| | | TextSize = TextSize.Text14, |
| | | TextColor = MusicColor.TextColor, |
| | | SelectedTextColor= MusicColor.MusicTxet14SelectedColor, |
| | | TextAlignment = TextAlignment.Center, |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Name = "btnText", |
| | |
| | | { |
| | | EventHandler<MouseEventArgs> DownClick = (sender, e) => |
| | | { |
| | | //this.BackgroundColor = 0xFFF2F3F7; |
| | | btnImage.IsSelected = true; |
| | | //btnText.IsSelected = true; |
| | | action?.Invoke(this, btnImage, btnText); |
| | | }; |
| | | this.MouseDownEventHandler += DownClick; |
| | |
| | | |
| | | EventHandler<MouseEventArgs> UpClick = (sender, e) => |
| | | { |
| | | //this.BackgroundColor = 0x00000000; |
| | | btnImage.IsSelected = false; |
| | | //btnText.IsSelected = false; |
| | | }; |
| | | this.MouseUpEventHandler += UpClick; |
| | | btnImage.MouseUpEventHandler += UpClick; |
| | |
| | | this.Height = Application.GetRealHeight(38); |
| | | this.TextSize = 14; |
| | | this.TextColor = MusicColor.TextColor; |
| | | this.SelectedTextColor = MusicColor.MusicTxet14SelectedColor; |
| | | this.TextAlignment = TextAlignment.Center; |
| | | this.IsMoreLines = true; |
| | | this.BackgroundColor = 0xffECEDEE; |
| | | this.SelectedBackgroundColor = 0xFFF2F3F7; |
| | | this.Radius = (uint)Application.GetRealHeight(30); |
| | | } |
| | | |
| | |
| | | { |
| | | EventHandler<MouseEventArgs> DownClick = (sender, e) => |
| | | { |
| | | this.BackgroundColor = 0xFFF2F3F7; |
| | | //this.BackgroundColor = 0xFFF2F3F7; |
| | | this.IsSelected = true; |
| | | action?.Invoke(this); |
| | | }; |
| | | this.MouseDownEventHandler += DownClick; |
| | |
| | | |
| | | EventHandler<MouseEventArgs> UpClick = (sender, e) => |
| | | { |
| | | this.BackgroundColor = 0xffECEDEE; |
| | | //this.BackgroundColor = 0xffECEDEE; |
| | | this.IsSelected = false; |
| | | }; |
| | | this.MouseUpEventHandler += UpClick; |
| | | |