New file |
| | |
| | | using Shared; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | using HDL_ON.UI.CSS; |
| | | using HDL_ON.Entity; |
| | | using HDL_ON.DriverLayer; |
| | | using HDL_ON.UI.Music; |
| | | using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock; |
| | | using HDL_ON.UI.UI2.Intelligence.Automation; |
| | | using System.Linq; |
| | | using HDL_ON.UI.UI2.FuntionControlView.Aks.CommonView; |
| | | using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity; |
| | | |
| | | namespace HDL_ON.UI.UI2.FuntionControlView.HisenseTV |
| | | { |
| | | /// <summary> |
| | | /// 海信电视界面 |
| | | /// </summary> |
| | | public class HisenseTvPage : BaseFramLayout |
| | | { |
| | | |
| | | |
| | | #region ■ 变量声明___________________________ |
| | | /// <summary> |
| | | /// 设备 |
| | | /// </summary> |
| | | private Function device; |
| | | /// <summary> |
| | | /// 上一级界面的设备名字控件 |
| | | /// </summary> |
| | | private Button btnDeviceName; |
| | | /// <summary> |
| | | /// 上一级界面的房间名字控件 |
| | | /// </summary> |
| | | private Button btnRoomName; |
| | | /// <summary> |
| | | /// 头部布局 |
| | | /// </summary> |
| | | private TopView topView; |
| | | /// <summary> |
| | | /// 当前设备名称 |
| | | /// </summary> |
| | | private Button btnCurrDeviceName; |
| | | /// <summary> |
| | | /// 区域 |
| | | /// </summary> |
| | | private Button btnCurrDeviceRoom; |
| | | |
| | | /// <summary> |
| | | ///收藏图标 |
| | | /// </summary> |
| | | private Button btnCollectIcon; |
| | | /// <summary> |
| | | /// 门锁状态 |
| | | /// </summary> |
| | | private Button btnDoorLockIcon; |
| | | /// <summary> |
| | | /// 表示来自那个界面 |
| | | /// </summary> |
| | | private CommonMethod.Comerom comerom; |
| | | /// <summary> |
| | | /// 删除设备后需要更新界面的回调 |
| | | /// </summary> |
| | | public Action action; |
| | | #endregion |
| | | |
| | | |
| | | /// <summary> |
| | | /// 构造函数 |
| | | /// </summary> |
| | | /// <param name="function">设备</param> |
| | | /// <param name="btnDeviceName">上一级界面的设备名字控件(注:不能传null,没有可以传new Button())</param> |
| | | /// <param name="btnRoomName">上一级界面的房间名字控件(注:不能传null,没有可以传new Button())</param> |
| | | public HisenseTvPage(Function function, Button btnDeviceName, Button btnRoomName, CommonMethod.Comerom comerom, Action action) |
| | | { |
| | | this.device = function; |
| | | this.btnDeviceName = btnDeviceName; |
| | | this.btnRoomName = btnRoomName; |
| | | this.comerom = comerom; |
| | | this.action = action; |
| | | |
| | | } |
| | | |
| | | public void Show() |
| | | { |
| | | //初始化UI |
| | | this.InitUI(); |
| | | //初始化事件 |
| | | this.EventListener(); |
| | | //读取数据 |
| | | this.ReadData(); |
| | | |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 初始化界面 |
| | | /// </summary> |
| | | private void InitUI() |
| | | { |
| | | #region ---界面布局--- |
| | | this.BackgroundColor = MusicColor.ViewColor; |
| | | this.topView = new TopView(); |
| | | this.topView.setBtn.Visible = true; |
| | | this.topView.topNameBtn.TextID = StringId.dianshi; |
| | | this.AddChidren(topView.TopFLayoutView()); |
| | | |
| | | var vv = new VerticalScrolViewLayout |
| | | { |
| | | Y = topView.fLayout.Bottom, |
| | | Height = Application.GetRealHeight(H_W.H - H_W.T_Height), |
| | | }; |
| | | this.AddChidren(vv); |
| | | var baseFL = new BaseFramLayout(); |
| | | vv.AddChidren(baseFL); |
| | | |
| | | var backgroundFl = new FrameLayout |
| | | { |
| | | Y = Application.GetRealHeight(24), |
| | | X = Application.GetRealWidth(24), |
| | | Height = Application.GetRealHeight(682), |
| | | Width = Application.GetRealWidth(327), |
| | | BackgroundImagePath = "HisenseTv/onbj.png", |
| | | Name = "backgroundFl", |
| | | }; |
| | | baseFL.AddChidren(backgroundFl); |
| | | |
| | | baseFL.AdjustRealHeight(51); |
| | | |
| | | btnCollectIcon = 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, |
| | | Name = "collect" |
| | | }; |
| | | backgroundFl.AddChidren(btnCollectIcon); |
| | | |
| | | btnCurrDeviceName = 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 |
| | | }; |
| | | backgroundFl.AddChidren(btnCurrDeviceName); |
| | | |
| | | |
| | | btnCurrDeviceRoom = new Button |
| | | { |
| | | TextSize = TextSize.Text12, |
| | | TextColor = MusicColor.MusicNoTxetColor, |
| | | Width = Application.GetRealWidth(160), |
| | | Height = Application.GetRealHeight(17), |
| | | Y = btnCurrDeviceName.Bottom + Application.GetRealHeight(4), |
| | | X = Application.GetRealWidth(16), |
| | | Text = this.device.GetRoomListName(), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | backgroundFl.AddChidren(btnCurrDeviceRoom); |
| | | |
| | | int yHeight = btnCurrDeviceRoom.Bottom + Application.GetRealHeight(16); |
| | | var shouyeFL = new CustomFrameLayout(); |
| | | backgroundFl.AddChidren(shouyeFL); |
| | | shouyeFL.X = Application.GetRealWidth(24); |
| | | shouyeFL.Y = yHeight; |
| | | shouyeFL.AddImageView(); |
| | | shouyeFL.AddTextButtonView(); |
| | | shouyeFL.GetImageButton().UnSelectedImagePath = "HisenseTv/shouye.png"; |
| | | shouyeFL.GetTextButton().Text = "首页"; |
| | | |
| | | |
| | | var kaiguanFL = new CustomFrameLayout(); |
| | | backgroundFl.AddChidren(kaiguanFL); |
| | | kaiguanFL.X = shouyeFL.Right + Application.GetRealWidth(37); |
| | | kaiguanFL.Y = yHeight; |
| | | kaiguanFL.AddImageView(); |
| | | kaiguanFL.AddTextButtonView(); |
| | | kaiguanFL.GetImageButton().UnSelectedImagePath = "HisenseTv/kaiguan.png"; |
| | | kaiguanFL.GetTextButton().Text = "关机"; |
| | | |
| | | var caidanFL = new CustomFrameLayout(); |
| | | backgroundFl.AddChidren(caidanFL); |
| | | caidanFL.X = kaiguanFL.Right + Application.GetRealWidth(37); |
| | | caidanFL.Y = yHeight; |
| | | caidanFL.AddImageView(); |
| | | caidanFL.AddTextButtonView(); |
| | | caidanFL.GetImageButton().UnSelectedImagePath = "HisenseTv/caidan.png"; |
| | | caidanFL.GetTextButton().Text = "菜单"; |
| | | |
| | | var yinliangFL = new FrameLayout(); |
| | | backgroundFl.AddChidren(yinliangFL); |
| | | yinliangFL.Height = Application.GetRealHeight(200); |
| | | yinliangFL.Width = Application.GetRealWidth(68); |
| | | yinliangFL.Y = shouyeFL.Bottom + Application.GetRealHeight(24); |
| | | yinliangFL.X = shouyeFL.X; |
| | | yinliangFL.BackgroundColor = 0xffF2F3F7; |
| | | yinliangFL.Radius = (uint)Application.GetRealHeight(34); |
| | | |
| | | Button btn_jia = new Button |
| | | { |
| | | Width = Application.GetRealWidth(32), |
| | | Height = Application.GetRealWidth(32), |
| | | UnSelectedImagePath = "HisenseTv/yingliangjia.png", |
| | | Y = Application.GetRealHeight(20), |
| | | Gravity = Gravity.CenterHorizontal, |
| | | |
| | | }; |
| | | yinliangFL.AddChidren(btn_jia); |
| | | Button btnText = new Button |
| | | { |
| | | Y = Application.GetRealHeight(90), |
| | | Height = Application.GetRealHeight(20), |
| | | Text = "音量", |
| | | TextColor = MusicColor.TextColor, |
| | | TextSize = TextSize.Text14, |
| | | Gravity = Gravity.CenterHorizontal, |
| | | |
| | | }; |
| | | yinliangFL.AddChidren(btnText); |
| | | Button btn_jian = new Button |
| | | { |
| | | Y = Application.GetRealHeight(148), |
| | | Width = Application.GetRealWidth(32), |
| | | Height = Application.GetRealWidth(32), |
| | | UnSelectedImagePath = "HisenseTv/yingliangjian.png", |
| | | Gravity = Gravity.CenterHorizontal, |
| | | |
| | | }; |
| | | yinliangFL.AddChidren(btn_jian); |
| | | |
| | | |
| | | CustomButton bofangBtn = new CustomButton(); |
| | | bofangBtn.Text = "播放"; |
| | | bofangBtn.Y = shouyeFL.Bottom + Application.GetRealHeight(24); |
| | | bofangBtn.X = yinliangFL.Right + Application.GetRealWidth(37); |
| | | backgroundFl.AddChidren(bofangBtn); |
| | | |
| | | |
| | | CustomButton zantingBtn = new CustomButton(); |
| | | zantingBtn.Text = "暂停"; |
| | | zantingBtn.Y = shouyeFL.Bottom + Application.GetRealHeight(24); |
| | | zantingBtn.X = bofangBtn.Right + Application.GetRealWidth(37); |
| | | backgroundFl.AddChidren(zantingBtn); |
| | | |
| | | |
| | | CustomButton kuaijinBtn = new CustomButton(); |
| | | kuaijinBtn.Text = "快进"; |
| | | kuaijinBtn.Y = bofangBtn.Bottom + Application.GetRealHeight(16); |
| | | kuaijinBtn.X = yinliangFL.Right + Application.GetRealWidth(37); |
| | | backgroundFl.AddChidren(kuaijinBtn); |
| | | |
| | | |
| | | CustomButton kauituiBtn = new CustomButton(); |
| | | kauituiBtn.Text = "快退"; |
| | | kauituiBtn.Y = bofangBtn.Bottom + Application.GetRealHeight(16); |
| | | kauituiBtn.X = kuaijinBtn.Right + Application.GetRealWidth(37); |
| | | backgroundFl.AddChidren(kauituiBtn); |
| | | |
| | | |
| | | |
| | | |
| | | CustomButton jingyinBtn = new CustomButton(); |
| | | jingyinBtn.Text = "静音"; |
| | | jingyinBtn.Y = kuaijinBtn.Bottom + Application.GetRealHeight(16); |
| | | jingyinBtn.X = yinliangFL.Right + Application.GetRealWidth(37); |
| | | backgroundFl.AddChidren(jingyinBtn); |
| | | |
| | | |
| | | CustomButton shezhiBtn = new CustomButton(); |
| | | shezhiBtn.Text = "设置"; |
| | | shezhiBtn.Y = kuaijinBtn.Bottom + Application.GetRealHeight(16); |
| | | shezhiBtn.X = jingyinBtn.Right + Application.GetRealWidth(37); |
| | | backgroundFl.AddChidren(shezhiBtn); |
| | | |
| | | |
| | | |
| | | CustomButton jiechujingyinBtn = new CustomButton(); |
| | | jiechujingyinBtn.Text = "解除静音"; |
| | | jiechujingyinBtn.Y = jingyinBtn.Bottom + Application.GetRealHeight(16); |
| | | jiechujingyinBtn.X = yinliangFL.Right + Application.GetRealWidth(37); |
| | | backgroundFl.AddChidren(jiechujingyinBtn); |
| | | |
| | | |
| | | CustomButton fanhuiBtn = new CustomButton(); |
| | | fanhuiBtn.Text = "返回"; |
| | | fanhuiBtn.Y = jingyinBtn.Bottom + Application.GetRealHeight(16); |
| | | fanhuiBtn.X = jiechujingyinBtn.Right + Application.GetRealWidth(37); |
| | | backgroundFl.AddChidren(fanhuiBtn); |
| | | |
| | | |
| | | TypeFrameLayout typeFrameLayout = new TypeFrameLayout(); |
| | | typeFrameLayout.middLayout.Y = yinliangFL.Bottom + Application.GetRealHeight(32); |
| | | typeFrameLayout.AddView(backgroundFl); |
| | | |
| | | |
| | | |
| | | MuenFrameLayout muenFrameLayout = new MuenFrameLayout (); |
| | | muenFrameLayout.AddView(backgroundFl); |
| | | muenFrameLayout.parentFl.Y = Application.GetRealHeight(482); |
| | | muenFrameLayout.parentFl.X = Application.GetRealWidth(73); |
| | | |
| | | |
| | | typeFrameLayout.SetLfteClickListener((btn) => { |
| | | |
| | | |
| | | }); |
| | | typeFrameLayout.SetRightClickListener((btn) => { |
| | | |
| | | |
| | | }); |
| | | |
| | | muenFrameLayout.SetLeftClickListener((b) => { |
| | | |
| | | }); |
| | | |
| | | |
| | | |
| | | #endregion |
| | | |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 注册事件 |
| | | /// </summary> |
| | | private void EventListener() |
| | | { |
| | | //返回 |
| | | this.topView.clickBackBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | this.RemoveFromParent(); |
| | | }; |
| | | //设置 |
| | | this.topView.clickSetBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonMethod.Current.MainThread(() => |
| | | { |
| | | //调用秀绕的界面 |
| | | var infoView = new UI.FunctionBaseInfoSetPage(this.device, () => |
| | | { |
| | | if (this.btnDeviceName == null || this.btnRoomName == null || this.device == null) |
| | | { |
| | | return; |
| | | } |
| | | ////刷新显示 |
| | | this.btnDeviceName.Text = this.device.name; |
| | | this.btnRoomName.Text = this.device.GetRoomListName(); |
| | | this.btnCurrDeviceName.Text = this.device.name; |
| | | this.btnCurrDeviceRoom.Text = this.device.GetRoomListName(); |
| | | this.CalculatedPosition();//重新计算宽度 |
| | | |
| | | }); |
| | | infoView.actionDel += () => |
| | | { |
| | | //解绑设备后 |
| | | this.RemoveFromParent(); |
| | | this.action?.Invoke(); |
| | | |
| | | }; |
| | | MainPage.BasePageView.AddChidren(infoView); |
| | | infoView.LoadPage(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }); |
| | | }; |
| | | //收藏 |
| | | this.btnCollectIcon.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | btnCollectIcon.IsSelected = this.device.collect = !btnCollectIcon.IsSelected; |
| | | this.device.CollectFunction(); |
| | | }; |
| | | |
| | | |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 初始数据 |
| | | /// </summary> |
| | | private void ReadData() |
| | | { |
| | | CommonMethod.Current.Loading.Start(); |
| | | CommonMethod.Current.SunThread(() => |
| | | { |
| | | try |
| | | { |
| | | CommonMethod.Current.MainThread(() => |
| | | { |
| | | }); |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | CommonMethod.Current.Loading.Hide(); |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 重新计算宽度(设备名称,房间控件) |
| | | /// </summary> |
| | | private void CalculatedPosition() |
| | | { |
| | | this.btnCurrDeviceName.Width = this.btnCurrDeviceName.GetTextWidth(); |
| | | this.btnCurrDeviceName.Width += 10; |
| | | if (this.btnCurrDeviceName.GetTextWidth() > this.btnCollectIcon.X) |
| | | { |
| | | //重新计算宽度 |
| | | this.btnCurrDeviceName.Width = this.btnCollectIcon.X + Application.GetRealWidth(-10); |
| | | } |
| | | this.btnCurrDeviceRoom.Width = this.btnCurrDeviceRoom.GetTextWidth(); |
| | | this.btnCurrDeviceRoom.Width += 10; |
| | | if (this.btnCurrDeviceRoom.GetTextWidth() > this.btnCollectIcon.X) |
| | | { |
| | | //重新计算宽度 |
| | | this.btnCurrDeviceRoom.Width = this.btnCollectIcon.X + Application.GetRealWidth(-20 - 10); |
| | | } |
| | | //this.cellFrame.X = this.btnCurrDeviceRoom.Right + Application.GetRealWidth(20); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 自定义(首页,关机,菜单)容器 |
| | | /// </summary> |
| | | class CustomFrameLayout : FrameLayout |
| | | { |
| | | public const int widthFrameLayout = 68; |
| | | public const int heightFrameLayout = 68 + 8 + 20; |
| | | public const int interval = 37;//行中的列间隔值 |
| | | |
| | | public CustomFrameLayout(int width = widthFrameLayout, int height = heightFrameLayout) |
| | | { |
| | | this.Width = Application.GetRealWidth(width); |
| | | this.Height = Application.GetRealHeight(height); |
| | | } |
| | | Button btnImage = new Button |
| | | { |
| | | Width = Application.GetRealWidth(68), |
| | | Height = Application.GetRealWidth(68), |
| | | Gravity = Gravity.TopCenter, |
| | | Name = "btnImage", |
| | | |
| | | }; |
| | | Button btnText = new Button |
| | | { |
| | | Width = Application.GetRealWidth(68), |
| | | Height = Application.GetRealWidth(20), |
| | | TextID = StringId.dangqianmenweiguan, |
| | | TextSize = TextSize.Text14, |
| | | TextColor = MusicColor.TextColor, |
| | | TextAlignment = TextAlignment.Center, |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Name = "btnText", |
| | | IsMoreLines = true, |
| | | }; |
| | | public void AddImageView() |
| | | { |
| | | this.AddChidren(btnImage); |
| | | } |
| | | public void AddTextButtonView() |
| | | { |
| | | btnText.Y = Application.GetRealHeight(8) + btnImage.Bottom; |
| | | this.AddChidren(btnText); |
| | | } |
| | | public Button GetImageButton() |
| | | { |
| | | return this.btnImage; |
| | | } |
| | | public Button GetTextButton() |
| | | { |
| | | return this.btnText; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 事件监听方法 |
| | | /// </summary> |
| | | /// <param name="action">回调(第一个是父类对象;第二个是图标对象;第三个是状态对象</param> |
| | | /// <param name="button1">注意:在SetClickListener()前面调用AddImageView()才有效</param> |
| | | /// <param name="button2">注意:在SetClickListener()前面调用AddImageView()才有效</param> |
| | | public void SetClickListener(Action<FrameLayout, Button, Button> action) |
| | | { |
| | | EventHandler<MouseEventArgs> DownClick = (sender, e) => |
| | | { |
| | | this.BackgroundColor = 0xFFF2F3F7; |
| | | action?.Invoke(this, btnImage, btnText); |
| | | }; |
| | | this.MouseDownEventHandler += DownClick; |
| | | btnImage.MouseDownEventHandler += DownClick; |
| | | btnText.MouseDownEventHandler += DownClick; |
| | | |
| | | |
| | | EventHandler<MouseEventArgs> UpClick = (sender, e) => |
| | | { |
| | | this.BackgroundColor = 0x00000000; |
| | | }; |
| | | this.MouseUpEventHandler += UpClick; |
| | | btnImage.MouseUpEventHandler += UpClick; |
| | | btnText.MouseUpEventHandler += UpClick; |
| | | |
| | | } |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 按键容器 |
| | | /// </summary> |
| | | class CustomButton : Button |
| | | { |
| | | |
| | | public CustomButton() |
| | | { |
| | | |
| | | this.Width = Application.GetRealWidth(68); |
| | | this.Height = Application.GetRealHeight(38); |
| | | this.TextSize = 14; |
| | | this.TextColor = MusicColor.TextColor; |
| | | this.TextAlignment = TextAlignment.Center; |
| | | this.IsMoreLines = true; |
| | | this.BackgroundColor = 0xffECEDEE; |
| | | this.Radius = (uint)Application.GetRealHeight(30); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 事件监听方法 |
| | | /// </summary> |
| | | /// <param name="action">回调(第一个是父类对象</param> |
| | | public void SetClickListener(Action<Button> action) |
| | | { |
| | | EventHandler<MouseEventArgs> DownClick = (sender, e) => |
| | | { |
| | | this.BackgroundColor = 0xFFF2F3F7; |
| | | action?.Invoke(this); |
| | | }; |
| | | this.MouseDownEventHandler += DownClick; |
| | | |
| | | |
| | | EventHandler<MouseEventArgs> UpClick = (sender, e) => |
| | | { |
| | | this.BackgroundColor = 0x00000000; |
| | | }; |
| | | this.MouseUpEventHandler += UpClick; |
| | | |
| | | } |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 类型(控制 信号源)容器 |
| | | /// </summary> |
| | | class TypeFrameLayout |
| | | { |
| | | #region ----控制 信号源---- |
| | | public FrameLayout middLayout = new FrameLayout |
| | | { |
| | | Height = Application.GetRealHeight(29), |
| | | Y = Application.GetRealHeight(32), |
| | | }; |
| | | |
| | | |
| | | FrameLayout leftLayout = new FrameLayout |
| | | { |
| | | X = Application.GetRealWidth(42), |
| | | Height = Application.GetRealHeight(29), |
| | | Width = Application.GetRealWidth(32), |
| | | |
| | | }; |
| | | |
| | | |
| | | Button leftBtnTitle = new Button |
| | | { |
| | | Height = Application.GetRealHeight(23), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = MusicColor.TextColor, |
| | | SelectedTextColor = MusicColor.MusicTxet14SelectedColor, |
| | | TextSize = TextSize.Text16, |
| | | TextID = StringId.kongzhi, |
| | | IsBold=true, |
| | | }; |
| | | |
| | | |
| | | |
| | | Button leftBtnLine = new Button |
| | | { |
| | | |
| | | Height = Application.GetRealHeight(2), |
| | | BackgroundColor = MusicColor.TextColor, |
| | | SelectedBackgroundColor = MusicColor.MusicTxet14SelectedColor, |
| | | Gravity = Gravity.CenterHorizontal, |
| | | }; |
| | | |
| | | //频道点击控件 |
| | | FrameLayout clickLeftLayout = new FrameLayout |
| | | { |
| | | |
| | | }; |
| | | |
| | | |
| | | FrameLayout rightLayout = new FrameLayout |
| | | { |
| | | Width = Application.GetRealWidth(48), |
| | | }; |
| | | Button rightBtnTitle = new Button |
| | | { |
| | | Height = Application.GetRealHeight(23), |
| | | Width = Application.GetRealWidth(48), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = MusicColor.TextColor, |
| | | SelectedTextColor = MusicColor.MusicTxet14SelectedColor, |
| | | TextSize = TextSize.Text16, |
| | | Text = "信号源", |
| | | IsBold = true, |
| | | }; |
| | | |
| | | Button rightBtnLine = new Button |
| | | { |
| | | Height = Application.GetRealHeight(2), |
| | | BackgroundColor = MusicColor.TextColor, |
| | | SelectedBackgroundColor = MusicColor.MusicTxet14SelectedColor, |
| | | Gravity = Gravity.CenterHorizontal, |
| | | }; |
| | | |
| | | |
| | | //信号源点击控件 |
| | | FrameLayout clickRightLayout = new FrameLayout |
| | | { |
| | | |
| | | }; |
| | | |
| | | #endregion |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="layout"></param> |
| | | public void AddView(FrameLayout layout) |
| | | { |
| | | layout.AddChidren(middLayout); |
| | | middLayout.AddChidren(leftLayout); |
| | | |
| | | leftLayout.AddChidren(leftBtnTitle); |
| | | leftLayout.AddChidren(leftBtnLine); |
| | | leftLayout.AddChidren(clickLeftLayout); |
| | | middLayout.AddChidren(rightLayout); |
| | | rightLayout.AddChidren(rightBtnTitle); |
| | | rightLayout.AddChidren(rightBtnLine); |
| | | rightLayout.AddChidren(clickRightLayout); |
| | | |
| | | leftBtnTitle.Width = leftLayout.Width; |
| | | leftBtnLine.Y = leftBtnTitle.Bottom + Application.GetRealHeight(4); |
| | | if (leftBtnTitle.GetTextWidth() < leftBtnTitle.Width) |
| | | { |
| | | leftBtnTitle.Width = leftBtnTitle.GetTextWidth(); |
| | | } |
| | | leftBtnLine.Width = leftBtnTitle.Width; |
| | | |
| | | clickLeftLayout.Height = leftLayout.Height; |
| | | clickLeftLayout.Width = leftLayout.Width; |
| | | |
| | | |
| | | rightLayout.X = leftLayout.Right + Application.GetRealWidth(171); |
| | | rightLayout.Y = leftLayout.Y; |
| | | rightLayout.Height = leftLayout.Height; |
| | | |
| | | |
| | | |
| | | rightBtnLine.Y = rightBtnTitle.Bottom + Application.GetRealHeight(4); |
| | | |
| | | if (rightBtnTitle.GetTextWidth() < rightBtnTitle.Width) |
| | | { |
| | | rightBtnTitle.Width = rightBtnTitle.GetTextWidth(); |
| | | } |
| | | rightBtnLine.Width = rightBtnTitle.Width; |
| | | |
| | | clickRightLayout.Height = leftLayout.Height; |
| | | clickRightLayout.Width = leftLayout.Width; |
| | | |
| | | |
| | | |
| | | //初始值 |
| | | leftBtnTitle.IsSelected = true; |
| | | leftBtnLine.IsSelected = true; |
| | | leftBtnLine.Visible = true; |
| | | rightBtnTitle.IsSelected = false; |
| | | rightBtnLine.IsSelected = false; |
| | | rightBtnLine.Visible = false; |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 信号源监听方法 |
| | | /// </summary> |
| | | /// <param name="action">回调(第一个是父类对象</param> |
| | | public void SetRightClickListener(Action<Button> action) |
| | | { |
| | | //频道点击事件 |
| | | clickLeftLayout.MouseDownEventHandler += (sen, e) => |
| | | { |
| | | leftBtnTitle.IsSelected = true; |
| | | leftBtnLine.IsSelected = true; |
| | | leftBtnLine.Visible = true; |
| | | rightBtnTitle.IsSelected = false; |
| | | rightBtnLine.IsSelected = false; |
| | | rightBtnLine.Visible = false; |
| | | }; |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 控制监听方法 |
| | | /// </summary> |
| | | /// <param name="action">回调(第一个是父类对象</param> |
| | | public void SetLfteClickListener(Action<Button> action) |
| | | { |
| | | //控制点击事件 |
| | | clickRightLayout.MouseDownEventHandler += (sen, e) => |
| | | { |
| | | leftBtnTitle.IsSelected = false; |
| | | leftBtnLine.IsSelected = false; |
| | | leftBtnLine.Visible = false; |
| | | rightBtnTitle.IsSelected = true; |
| | | rightBtnLine.IsSelected = true; |
| | | rightBtnLine.Visible = true; |
| | | |
| | | }; |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 菜单容器 |
| | | /// </summary> |
| | | class MuenFrameLayout |
| | | { |
| | | |
| | | public FrameLayout parentFl = new FrameLayout |
| | | { |
| | | Width = Application.GetRealWidth(180), |
| | | Height = Application.GetRealWidth(180), |
| | | Radius = (uint)Application.GetRealHeight(90), |
| | | BackgroundColor= 0xffF2F3F7, |
| | | |
| | | }; |
| | | |
| | | Button btnTop = new Button |
| | | { |
| | | Y = Application.GetRealWidth(16), |
| | | X = Application.GetRealWidth(78), |
| | | Width = Application.GetRealWidth(24), |
| | | Height = Application.GetRealHeight(20), |
| | | UnSelectedImagePath = "AksIcon/shang.png", |
| | | SelectedImagePath = "AksIcon/shang_selected.png", |
| | | Name = "上", |
| | | }; |
| | | Button btnBottom = new Button |
| | | { |
| | | Y = Application.GetRealWidth(144), |
| | | X = Application.GetRealWidth(78), |
| | | Width = Application.GetRealWidth(24), |
| | | Height = Application.GetRealHeight(20), |
| | | UnSelectedImagePath = "AksIcon/xia.png", |
| | | SelectedImagePath = "AksIcon/xia_selected.png", |
| | | Name = "下", |
| | | }; |
| | | Button btnLeft = new Button |
| | | { |
| | | Y = Application.GetRealWidth(78), |
| | | X = Application.GetRealWidth(16), |
| | | Width = Application.GetRealWidth(20), |
| | | Height = Application.GetRealHeight(24), |
| | | UnSelectedImagePath = "AksIcon/zuo.png", |
| | | SelectedImagePath = "AksIcon/zuo_selected.png", |
| | | Name = "左", |
| | | |
| | | }; |
| | | Button btnRight = new Button |
| | | { |
| | | Y = Application.GetRealWidth(78), |
| | | X = Application.GetRealWidth(144), |
| | | Width = Application.GetRealWidth(20), |
| | | Height = Application.GetRealHeight(24), |
| | | UnSelectedImagePath = "AksIcon/you.png", |
| | | SelectedImagePath = "AksIcon/you_selected.png", |
| | | Name = "右", |
| | | |
| | | }; |
| | | |
| | | Button btnOkbj = new Button |
| | | { |
| | | //Y = Application.GetRealWidth(52), |
| | | //X = Application.GetRealWidth(52), |
| | | Width = Application.GetRealWidth(76), |
| | | Height = Application.GetRealWidth(76), |
| | | Radius = (uint)Application.GetRealHeight(38), |
| | | Gravity=Gravity.Center, |
| | | BackgroundColor = MusicColor.WhiteColor, |
| | | |
| | | |
| | | }; |
| | | Button btnOk = new Button |
| | | { |
| | | //Y = Application.GetRealWidth(76), |
| | | //X = Application.GetRealWidth(76), |
| | | Gravity = Gravity.Center, |
| | | Width = Application.GetRealWidth(28), |
| | | Height = Application.GetRealWidth(28), |
| | | Radius = (uint)Application.GetRealHeight(14), |
| | | BackgroundColor = MusicColor.SelectedColor, |
| | | Name = "确定" |
| | | }; |
| | | |
| | | public void AddView(FrameLayout layout) |
| | | { |
| | | layout.AddChidren(parentFl); |
| | | parentFl.AddChidren(btnTop); |
| | | parentFl.AddChidren(btnBottom); |
| | | parentFl.AddChidren(btnLeft); |
| | | parentFl.AddChidren(btnRight); |
| | | parentFl.AddChidren(btnOkbj); |
| | | parentFl.AddChidren(btnOk); |
| | | |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 上 |
| | | /// </summary> |
| | | /// <param name="action"></param> |
| | | public void SetTopClickListener(Action<KeypadEntity> action) |
| | | { |
| | | EventHandler<MouseEventArgs> UpClick = (sender, e) => |
| | | { |
| | | btnTop.IsSelected = false; |
| | | //弹起来还原背景颜色 |
| | | }; |
| | | btnTop.MouseUpEventHandler += UpClick; |
| | | |
| | | |
| | | EventHandler<MouseEventArgs> DownClick = (sender, e) => |
| | | { |
| | | //按下去改变背景颜色 |
| | | btnTop.IsSelected = true; |
| | | KeypadEntity keypadEntity = new KeypadEntity(); |
| | | keypadEntity.name = btnTop.Name; |
| | | keypadEntity.keypad = "key_up"; |
| | | action?.Invoke(keypadEntity); |
| | | }; |
| | | btnTop.MouseDownEventHandler += DownClick; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 下 |
| | | /// </summary> |
| | | /// <param name="action"></param> |
| | | public void SetBottomClickListener(Action<KeypadEntity> action) |
| | | { |
| | | EventHandler<MouseEventArgs> UpClick = (sender, e) => |
| | | { |
| | | btnBottom.IsSelected = false; |
| | | |
| | | |
| | | //弹起来还原背景颜色 |
| | | }; |
| | | btnBottom.MouseUpEventHandler += UpClick; |
| | | |
| | | |
| | | EventHandler<MouseEventArgs> DownClick = (sender, e) => |
| | | { |
| | | btnBottom.IsSelected = true; |
| | | KeypadEntity keypadEntity = new KeypadEntity(); |
| | | keypadEntity.name = btnBottom.Name; |
| | | keypadEntity.keypad = "key_down"; |
| | | action?.Invoke(keypadEntity); |
| | | //按下去改变背景颜色 |
| | | }; |
| | | btnBottom.MouseDownEventHandler += DownClick; |
| | | } |
| | | /// <summary> |
| | | /// 左 |
| | | /// </summary> |
| | | /// <param name="action"></param> |
| | | public void SetLeftClickListener(Action<KeypadEntity> action) |
| | | { |
| | | EventHandler<MouseEventArgs> UpClick = (sender, e) => |
| | | { |
| | | btnLeft.IsSelected = false; |
| | | //弹起来还原背景颜色 |
| | | }; |
| | | btnLeft.MouseUpEventHandler += UpClick; |
| | | |
| | | |
| | | EventHandler<MouseEventArgs> DownClick = (sender, e) => |
| | | { |
| | | btnLeft.IsSelected = true; |
| | | KeypadEntity keypadEntity = new KeypadEntity(); |
| | | keypadEntity.name = btnLeft.Name; |
| | | keypadEntity.keypad = "key_left"; |
| | | action?.Invoke(keypadEntity); |
| | | //按下去改变背景颜色 |
| | | }; |
| | | btnLeft.MouseDownEventHandler += DownClick; |
| | | } |
| | | /// <summary> |
| | | /// 右 |
| | | /// </summary> |
| | | /// <param name="action"></param> |
| | | public void SetRightClickListener(Action<KeypadEntity> action) |
| | | { |
| | | EventHandler<MouseEventArgs> UpClick = (sender, e) => |
| | | { |
| | | btnRight.IsSelected = false; |
| | | //弹起来还原背景颜色 |
| | | }; |
| | | btnRight.MouseUpEventHandler += UpClick; |
| | | |
| | | |
| | | EventHandler<MouseEventArgs> DownClick = (sender, e) => |
| | | { |
| | | //按下去改变背景颜色 |
| | | btnRight.IsSelected = true; |
| | | KeypadEntity keypadEntity = new KeypadEntity(); |
| | | keypadEntity.name = btnRight.Name; |
| | | keypadEntity.keypad = "key_right"; |
| | | action?.Invoke(keypadEntity); |
| | | }; |
| | | btnRight.MouseDownEventHandler += DownClick; |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// ok |
| | | /// </summary> |
| | | /// <param name="action"></param> |
| | | public void SetOkClickListener(Action<KeypadEntity> action) |
| | | { |
| | | EventHandler<MouseEventArgs> UpClick = (sender, e) => |
| | | { |
| | | btnOk.BackgroundColor = MusicColor.SelectedColor;// this.UpBackgroundColor; |
| | | //弹起来还原背景颜色 |
| | | }; |
| | | btnOk.MouseUpEventHandler += UpClick; |
| | | |
| | | |
| | | EventHandler<MouseEventArgs> DownClick = (sender, e) => |
| | | { |
| | | KeypadEntity keypadEntity = new KeypadEntity(); |
| | | keypadEntity.name = btnOk.Name; |
| | | keypadEntity.keypad = "key_ok"; |
| | | action?.Invoke(keypadEntity); |
| | | btnOk.BackgroundColor = 0xffF2F3F7; |
| | | }; |
| | | btnOk.MouseDownEventHandler += DownClick; |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | } |