using System; using System.Collections.Generic; using HDL_ON.UI.Music; using HDL_ON.UI.UI2.FuntionControlView.Aks.CommonView; using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity; using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock; using Shared; using static HDL_ON.UI.UI2.FuntionControlView.Aks.AksPage; namespace HDL_ON.UI.UI2.FuntionControlView.Aks { /// /// 播放器界面 /// public class MusicPage : BaseFramLayout { /// /// /// /// 遥控器对象 /// 时序器列表 public MusicPage(RemoteControlEntity remoteControlEntity, List sequencerList) { this.remoteControl = remoteControlEntity; this.sequencerList = sequencerList; } /// /// 时序器列表 /// private List sequencerList; /// /// 当前的遥控器对象 /// private RemoteControlEntity remoteControl; public Action action; CornerFramLayout cornerFram; /// /// 影库 /// TypeSingleFramLayout ykSingleFramLayout; TypeSingleFramLayout bfqSingleFramLayout; MenuFramLayout menuFram; TypeMultiFramLayout typeMultiFramLayout; public void Show() { //初始化UI this.InitUI(); //初始化事件 this.EventListener(); //读取数据 this.ReadData(); } private void ReadData() { } private void EventListener() { cornerFram.selectKeyAction += (keypadEntity) => { if (keypadEntity == null) { return; } this.KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked); }; menuFram.SetTopClickListener((keypadEntity) => { this.KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked); }); menuFram.SetBottomClickListener((keypadEntity) => { this.KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked); }); menuFram.SetLeftClickListener((keypadEntity) => { this.KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked); }); menuFram.SetRightClickListener((keypadEntity) => { this.KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked); }); menuFram.SetOkClickListener((keypadEntity) => { this.KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked); }); if (bfqSingleFramLayout != null) { bfqSingleFramLayout.SetClickListener((f) => { action?.Invoke(IntType.Player); }); } if (ykSingleFramLayout != null) { ykSingleFramLayout.SetClickListener((f) => { YkPage ykPage = new YkPage(this.remoteControl); MainPage.BasePageView.AddChidren(ykPage); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; ykPage.Show(); }); } if (typeMultiFramLayout != null) { typeMultiFramLayout.SetLeftFlClickListener((f) => { SxqPage sxqPage = new SxqPage(this.sequencerList, this.remoteControl.deviceId); MainPage.BasePageView.AddChidren(sxqPage); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; sxqPage.Show(); }); typeMultiFramLayout.SetRightFlClickListener((f) => { action?.Invoke(IntType.Player); }); } } private void InitUI() { this.BackgroundColor = MusicColor.ViewColor; Button btnTitle = new Button { Y = Application.GetRealHeight(16), X = Application.GetRealWidth(16), Height = Application.GetRealHeight(22), Width = Application.GetRealWidth(200), TextAlignment = TextAlignment.CenterLeft, TextColor = MusicColor.TextColor, TextSize = TextSize.Text16, //TextID = StringId.bofangqi, Text = this.remoteControl.name, Padding = new Padding(0, 0, 0, 0), IsBold = true, }; this.AddChidren(btnTitle); cornerFram = new CornerFramLayout(343, 452 - 30, 17); this.AddChidren(cornerFram); cornerFram.X = Application.GetRealWidth(16); cornerFram.Y = btnTitle.Bottom + Application.GetRealHeight(16); cornerFram.SetMargin(16, 0, 16, 0); cornerFram.LoadButtonPage(AksCommonMethod.Current.GetMusicKeypadList(this.remoteControl), 4); if (sequencerList.Count == 0) { //没有时序器 CornerFramLayout cornerBottomFram = new CornerFramLayout(343, 364 - 32-32-40, 17); this.AddChidren(cornerBottomFram); cornerBottomFram.X = Application.GetRealWidth(16); cornerBottomFram.Y = cornerFram.Bottom + Application.GetRealHeight(16); cornerBottomFram.BackgroundColor = MusicColor.WhiteColor; cornerBottomFram.Radius = (uint)Application.GetRealHeight(17); //播放器 bfqSingleFramLayout = new TypeSingleFramLayout(); bfqSingleFramLayout.AddView(cornerBottomFram); bfqSingleFramLayout.singleFramLayout.Y = Application.GetRealHeight(24); bfqSingleFramLayout.singleFramLayout.X = Application.GetRealWidth(16); bfqSingleFramLayout.singleFramLayout.Width = Application.GetRealWidth(101); bfqSingleFramLayout.btnName.Text = this.remoteControl.name; bfqSingleFramLayout.btnName.X= Application.GetRealWidth(16); bfqSingleFramLayout.btnName.Width = Application.GetRealWidth(48); bfqSingleFramLayout.btnRightImage.X = bfqSingleFramLayout.btnName.Right + Application.GetRealWidth(8); bfqSingleFramLayout.btnRightImage.Width = Application.GetRealWidth(16); bfqSingleFramLayout.btnRightImage.Height = Application.GetRealWidth(16); bfqSingleFramLayout.btnRightImage.UnSelectedImagePath = "AksIcon/xuanze.png"; bfqSingleFramLayout.btnRightImage.Gravity = Gravity.CenterVertical; bfqSingleFramLayout.btnLeftImage.Visible = false; bfqSingleFramLayout.CustomCalculationWidth(TypeSingleFramLayout.Orientation.left, bfqSingleFramLayout.singleFramLayout, bfqSingleFramLayout.btnName, bfqSingleFramLayout.btnRightImage, 48); //影库 ykSingleFramLayout = new TypeSingleFramLayout(); ykSingleFramLayout.AddView(cornerBottomFram); ykSingleFramLayout.singleFramLayout.Y = Application.GetRealHeight(24); ykSingleFramLayout.singleFramLayout.X = Application.GetRealWidth(226); menuFram = new MenuFramLayout(); menuFram.AddView(cornerBottomFram); menuFram.Y = ykSingleFramLayout.singleFramLayout.Bottom + Application.GetRealHeight(32); this.AdjustRealHeight(16); } else { //有时序器 CornerFramLayout cornerBottomFram = new CornerFramLayout(343, 364 - 32, 17); this.AddChidren(cornerBottomFram); cornerBottomFram.X = Application.GetRealWidth(16); cornerBottomFram.Y = cornerFram.Bottom + Application.GetRealHeight(16); cornerBottomFram.BackgroundColor = MusicColor.WhiteColor; cornerBottomFram.Radius = (uint)Application.GetRealHeight(17); ykSingleFramLayout = new TypeSingleFramLayout(); ykSingleFramLayout.AddView(cornerBottomFram); ykSingleFramLayout.singleFramLayout.Y = Application.GetRealHeight(24); ykSingleFramLayout.singleFramLayout.Gravity = Gravity.CenterHorizontal; menuFram = new MenuFramLayout(); menuFram.AddView(cornerBottomFram); menuFram.Y = ykSingleFramLayout.singleFramLayout.Bottom + Application.GetRealHeight(32); typeMultiFramLayout = new TypeMultiFramLayout(); typeMultiFramLayout.AddView(cornerBottomFram); typeMultiFramLayout.multiFramLayout.Y = menuFram.Bottom + Application.GetRealHeight(32); //typeMultiFramLayout.btnBottonRightName.TextID = StringId.bofangqi; typeMultiFramLayout.btnRightName.Text = this.remoteControl.name; this.AdjustRealHeight(16); } } /// /// 按键控制 /// /// <按键标识/param> /// <按键名称(打印用的)/param> /// <是否支持控制/param> private void KeyControl(string keypad, string keyName, bool isSupport) { //CommonMethod.Current.Loading.Start(); CommonMethod.Current.SunThread(() => { try { SendMethod.Current.KeypadExecute(remoteControl.deviceId, remoteControl.rcId, keypad, keyName,isSupport); } catch { } finally { CommonMethod.Current.MainThread(() => { //CommonMethod.Current.Loading.Hide(); }); } }); } } }