using Shared;
|
using System;
|
using System.Collections.Generic;
|
using HDL_ON.Entity;
|
using HDL_ON.UI.Music;
|
using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock;
|
using HDL_ON.UI.UI2.FuntionControlView.Aks.CommonView;
|
|
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;
|
BaseFramLayout baseCloseFFL;
|
VerticalScrolViewLayout vv;
|
/// <summary>
|
/// 当前设备名称
|
/// </summary>
|
private Button btnOpenCurrDeviceName;
|
/// <summary>
|
/// 区域
|
/// </summary>
|
private Button btnOpenCurrDeviceRoom;
|
/// <summary>
|
///收藏图标
|
/// </summary>
|
private Button btnOpenCollectIcon;
|
CustomFrameLayout shouyeFL;
|
CustomFrameLayout kaiguanFL;
|
CustomFrameLayout caidanFL;
|
Button btn_jia;
|
Button btn_jian;
|
CustomButton bofangBtn;
|
CustomButton zantingBtn;
|
CustomButton kuaijinBtn;
|
CustomButton kauituiBtn;
|
CustomButton jingyinBtn;
|
CustomButton shezhiBtn;
|
CustomButton jiechujingyinBtn;
|
CustomButton fanhuiBtn;
|
MenuFramLayout muenFrameLayout;
|
SourceFrameLayout sourceFrameLayout;
|
|
|
Button btnCloseCollectIcon;
|
Button btnCloseCurrDeviceName;
|
Button btnCloseCurrDeviceRoom;
|
Button clickBtn;
|
|
/// <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.InitTopUI();
|
this.InitOpenUI();
|
this.InitCloseUI();
|
this.CurrentAssignPage();
|
//初始化事件
|
this.EventListener();
|
//读取数据
|
this.ReadData();
|
|
}
|
|
/// <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.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();//重新计算宽度
|
|
});
|
infoView.actionDel += () =>
|
{
|
//解绑设备后
|
this.RemoveFromParent();
|
this.action?.Invoke();
|
|
};
|
MainPage.BasePageView.AddChidren(infoView);
|
infoView.LoadPage();
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
});
|
};
|
//收藏
|
this.btnOpenCollectIcon.MouseUpEventHandler += (sender, e) =>
|
{
|
btnOpenCollectIcon.IsSelected = this.device.collect = !btnOpenCollectIcon.IsSelected;
|
this.device.CollectFunction();
|
};
|
|
//首页
|
shouyeFL.SetClickListener((fl, btnImage, btnText) => { });
|
//关机
|
kaiguanFL.SetClickListener((fl, btnImage, btnText) =>
|
{
|
vv.Visible = false;
|
baseCloseFFL.Visible = true;
|
});
|
//菜单
|
caidanFL.SetClickListener((fl, btnImage, btnText) => { });
|
//音量+
|
btn_jia.MouseDownEventHandler += (sender, e) => { };
|
//音量-
|
btn_jian.MouseDownEventHandler += (sender, e) => { };
|
//播放
|
bofangBtn.SetClickListener((btn) => { });
|
//暂停
|
zantingBtn.SetClickListener((btn) => { });
|
//快进
|
kuaijinBtn.SetClickListener((btn) => { });
|
//快退
|
kauituiBtn.SetClickListener((btn) => { });
|
//静音
|
jingyinBtn.SetClickListener((btn) => { });
|
//设置
|
shezhiBtn.SetClickListener((btn) => { });
|
//解除静音
|
jiechujingyinBtn.SetClickListener((btn) => { });
|
//返回
|
fanhuiBtn.SetClickListener((btn) => { });
|
//控制菜单
|
muenFrameLayout.SetLeftClickListener((muen) =>
|
{
|
|
});
|
//信号源
|
sourceFrameLayout.selectAction += (text) =>
|
{
|
|
|
};
|
|
|
//收藏(关机)
|
this.btnCloseCollectIcon.MouseUpEventHandler += (sender, e) =>
|
{
|
btnCloseCollectIcon.IsSelected = this.device.collect = !btnCloseCollectIcon.IsSelected;
|
this.device.CollectFunction();
|
};
|
//开机
|
clickBtn.MouseDownEventHandler += (sen, e) =>
|
{
|
vv.Visible = true;
|
baseCloseFFL.Visible = false;
|
};
|
|
}
|
/// <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 InitOpenUI()
|
{
|
#region ---界面布局---
|
vv = new VerticalScrolViewLayout
|
{
|
Y = topView.fLayout.Bottom,
|
Height = Application.GetRealHeight(H_W.H - H_W.T_Height),
|
};
|
this.AddChidren(vv);
|
var baseOpenFL = new BaseFramLayout();
|
vv.AddChidren(baseOpenFL);
|
var backgroundOpenFl = new FrameLayout
|
{
|
Y = Application.GetRealHeight(24),
|
X = Application.GetRealWidth(24),
|
Height = Application.GetRealHeight(648),
|
Width = Application.GetRealWidth(327),
|
BackgroundImagePath = "HisenseTv/onbj.png",
|
};
|
baseOpenFL.AddChidren(backgroundOpenFl);
|
|
baseOpenFL.AdjustRealHeight(16);
|
|
btnOpenCollectIcon = 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,
|
};
|
backgroundOpenFl.AddChidren(btnOpenCollectIcon);
|
|
btnOpenCurrDeviceName = 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
|
};
|
backgroundOpenFl.AddChidren(btnOpenCurrDeviceName);
|
|
|
btnOpenCurrDeviceRoom = new Button
|
{
|
TextSize = TextSize.Text12,
|
TextColor = MusicColor.MusicNoTxetColor,
|
Width = Application.GetRealWidth(160),
|
Height = Application.GetRealHeight(17),
|
Y = btnOpenCurrDeviceName.Bottom + Application.GetRealHeight(4),
|
X = Application.GetRealWidth(16),
|
Text = this.device.GetRoomListName(),
|
TextAlignment = TextAlignment.CenterLeft,
|
};
|
backgroundOpenFl.AddChidren(btnOpenCurrDeviceRoom);
|
|
int yHeight = btnOpenCurrDeviceRoom.Bottom + Application.GetRealHeight(16);
|
shouyeFL = new CustomFrameLayout();
|
backgroundOpenFl.AddChidren(shouyeFL);
|
shouyeFL.X = Application.GetRealWidth(24);
|
shouyeFL.Y = yHeight;
|
shouyeFL.AddImageView();
|
shouyeFL.AddTextButtonView();
|
shouyeFL.GetImageButton().UnSelectedImagePath = "HisenseTv/shouye.png";
|
shouyeFL.GetTextButton().Text = "首页";
|
|
|
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().Text = "关机";
|
|
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().Text = "菜单";
|
|
var yinliangFL = new FrameLayout();
|
backgroundOpenFl.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);
|
|
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);
|
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);
|
btn_jia.MouseUpEventHandler += (sender, e) =>
|
{
|
|
|
};
|
btn_jian.MouseUpEventHandler += (sender, e) =>
|
{
|
|
|
};
|
|
bofangBtn = new CustomButton();
|
bofangBtn.Text = "播放";
|
bofangBtn.Y = shouyeFL.Bottom + Application.GetRealHeight(24);
|
bofangBtn.X = yinliangFL.Right + Application.GetRealWidth(37);
|
backgroundOpenFl.AddChidren(bofangBtn);
|
|
|
zantingBtn = new CustomButton();
|
zantingBtn.Text = "暂停";
|
zantingBtn.Y = shouyeFL.Bottom + Application.GetRealHeight(24);
|
zantingBtn.X = bofangBtn.Right + Application.GetRealWidth(37);
|
backgroundOpenFl.AddChidren(zantingBtn);
|
|
|
kuaijinBtn = new CustomButton();
|
kuaijinBtn.Text = "快进";
|
kuaijinBtn.Y = bofangBtn.Bottom + Application.GetRealHeight(16);
|
kuaijinBtn.X = yinliangFL.Right + Application.GetRealWidth(37);
|
backgroundOpenFl.AddChidren(kuaijinBtn);
|
|
|
kauituiBtn = new CustomButton();
|
kauituiBtn.Text = "快退";
|
kauituiBtn.Y = bofangBtn.Bottom + Application.GetRealHeight(16);
|
kauituiBtn.X = kuaijinBtn.Right + Application.GetRealWidth(37);
|
backgroundOpenFl.AddChidren(kauituiBtn);
|
|
|
|
|
jingyinBtn = new CustomButton();
|
jingyinBtn.Text = "静音";
|
jingyinBtn.Y = kuaijinBtn.Bottom + Application.GetRealHeight(16);
|
jingyinBtn.X = yinliangFL.Right + Application.GetRealWidth(37);
|
backgroundOpenFl.AddChidren(jingyinBtn);
|
|
|
shezhiBtn = new CustomButton();
|
shezhiBtn.Text = "设置";
|
shezhiBtn.Y = kuaijinBtn.Bottom + Application.GetRealHeight(16);
|
shezhiBtn.X = jingyinBtn.Right + Application.GetRealWidth(37);
|
backgroundOpenFl.AddChidren(shezhiBtn);
|
|
|
|
jiechujingyinBtn = new CustomButton();
|
jiechujingyinBtn.Text = "解除静音";
|
jiechujingyinBtn.Y = jingyinBtn.Bottom + Application.GetRealHeight(16);
|
jiechujingyinBtn.X = yinliangFL.Right + Application.GetRealWidth(37);
|
backgroundOpenFl.AddChidren(jiechujingyinBtn);
|
|
|
fanhuiBtn = new CustomButton();
|
fanhuiBtn.Text = "返回";
|
fanhuiBtn.Y = jingyinBtn.Bottom + Application.GetRealHeight(16);
|
fanhuiBtn.X = jiechujingyinBtn.Right + Application.GetRealWidth(37);
|
backgroundOpenFl.AddChidren(fanhuiBtn);
|
|
|
TypeFrameLayout typeFrameLayout = new TypeFrameLayout();
|
typeFrameLayout.middLayout.Y = yinliangFL.Bottom + Application.GetRealHeight(32);
|
typeFrameLayout.AddView(backgroundOpenFl);
|
|
muenFrameLayout = new MenuFramLayout();
|
muenFrameLayout.Y = Application.GetRealHeight(482);
|
muenFrameLayout.AddView(backgroundOpenFl);
|
|
sourceFrameLayout = new SourceFrameLayout();
|
sourceFrameLayout.Y = Application.GetRealHeight(482);
|
backgroundOpenFl.AddChidren(sourceFrameLayout);
|
sourceFrameLayout.LoadSourcePage();
|
|
|
|
muenFrameLayout.Visible = true;
|
sourceFrameLayout.Visible = false;
|
typeFrameLayout.SetLfteClickListener(() =>
|
{
|
|
muenFrameLayout.Visible = true;
|
sourceFrameLayout.Visible = false;
|
});
|
typeFrameLayout.SetRightClickListener(() =>
|
{
|
muenFrameLayout.Visible = false;
|
sourceFrameLayout.Visible = true;
|
|
});
|
|
|
|
|
|
#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 = "已关机",
|
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,
|
Text = "开机",
|
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>
|
private void InitTopUI()
|
{
|
this.BackgroundColor = MusicColor.ViewColor;
|
this.topView = new TopView();
|
this.topView.setBtn.Visible = true;
|
this.topView.topNameBtn.TextID = StringId.dianshi;
|
this.AddChidren(topView.TopFLayoutView());
|
}
|
/// <summary>
|
/// 根据设备开关状态显示指定显示界面
|
/// (进来的时候用到)
|
/// </summary>
|
/// <returns></returns>
|
private void CurrentAssignPage()
|
{
|
|
if (this.device == null)
|
{
|
vv.Visible = false;
|
baseCloseFFL.Visible = true;
|
return;
|
}
|
if (this.device.GetAttrState("on_off") == "on")
|
{
|
vv.Visible = true;
|
baseCloseFFL.Visible = false;
|
}
|
else
|
{
|
vv.Visible = false;
|
baseCloseFFL.Visible = true;
|
}
|
|
}
|
|
/// <summary>
|
/// 重新计算宽度(设备名称,房间控件)
|
/// </summary>
|
private void CalculatedPosition()
|
{
|
//开机状态
|
this.btnOpenCurrDeviceName.Width = this.btnOpenCurrDeviceName.GetTextWidth();
|
this.btnOpenCurrDeviceName.Width += 10;
|
if (this.btnOpenCurrDeviceName.GetTextWidth() > this.btnOpenCollectIcon.X)
|
{
|
//重新计算宽度
|
this.btnOpenCurrDeviceName.Width = this.btnOpenCollectIcon.X + Application.GetRealWidth(-10);
|
}
|
this.btnOpenCurrDeviceRoom.Width = this.btnOpenCurrDeviceRoom.GetTextWidth();
|
this.btnOpenCurrDeviceRoom.Width += 10;
|
if (this.btnOpenCurrDeviceRoom.GetTextWidth() > this.btnOpenCollectIcon.X)
|
{
|
//重新计算宽度
|
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);
|
}
|
|
}
|
|
/// <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 = 0xffECEDEE;
|
};
|
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>
|
public void SetLfteClickListener(Action action)
|
{
|
//点击事件
|
clickLeftLayout.MouseDownEventHandler += (sen, e) =>
|
{
|
leftBtnTitle.IsSelected = true;
|
leftBtnLine.IsSelected = true;
|
leftBtnLine.Visible = true;
|
rightBtnTitle.IsSelected = false;
|
rightBtnLine.IsSelected = false;
|
rightBtnLine.Visible = false;
|
action?.Invoke();
|
};
|
}
|
/// <summary>
|
/// 信号源监听方法
|
/// </summary>
|
public void SetRightClickListener(Action action)
|
{
|
|
//点击事件
|
clickRightLayout.MouseDownEventHandler += (sen, e) =>
|
{
|
leftBtnTitle.IsSelected = false;
|
leftBtnLine.IsSelected = false;
|
leftBtnLine.Visible = false;
|
rightBtnTitle.IsSelected = true;
|
rightBtnLine.IsSelected = true;
|
rightBtnLine.Visible = true;
|
action?.Invoke();
|
|
|
};
|
|
}
|
|
}
|
/// <summary>
|
/// 信号源容器
|
/// </summary>
|
class SourceFrameLayout : FrameLayout
|
{
|
public const int widthFrameLayout = 375;
|
public const int heightFrameLayout = 146;
|
public const int interval = 37;//行中的列间隔值
|
|
public Action<string> selectAction;
|
|
public SourceFrameLayout(int width = widthFrameLayout, int height = heightFrameLayout)
|
{
|
this.Width = Application.GetRealWidth(width);
|
this.Height = Application.GetRealHeight(height);
|
}
|
|
/// <summary>
|
/// 动态加载图片界面
|
/// </summary>
|
public void LoadSourcePage()
|
{
|
var mList = GetList();
|
int currnetheightValue = 0;
|
int currnetWidthValue = 0;
|
int heightMaxValue = 38;
|
int widthMaxValue = 68;
|
//获取相对一个纬度值
|
int widthDimensionValue = this.Width - Application.GetRealWidth(24) - Application.GetRealWidth(24) - Application.GetRealHeight(widthMaxValue / 2);
|
for (int i = 0; i < mList.Count; i++)
|
{
|
var source = mList[i];
|
CustomButton button = new CustomButton();
|
this.AddChidren(button);
|
button.Tag = source;
|
button.Y = Application.GetRealHeight(currnetheightValue);
|
button.X = Application.GetRealWidth(24) + Application.GetRealWidth(currnetWidthValue);
|
button.Text = source;
|
currnetWidthValue += (widthMaxValue + 37);//37是隔间值
|
if (widthDimensionValue < Application.GetRealWidth(currnetWidthValue))
|
{
|
currnetheightValue += (heightMaxValue + 16);//16是隔间值
|
currnetWidthValue = 0;
|
}
|
|
button.SetClickListener((btn) =>
|
{
|
// MovieLibrary movieLibrary = new MovieLibrary();
|
selectAction?.Invoke(button.Text);
|
});
|
//if (CurrnetSelectIndex != -1 && CurrnetSelectIndex == i)
|
//{
|
// selectImageAction?.Invoke((int)imageFram.Tag);
|
//}
|
}
|
|
}
|
private List<string> GetList()
|
{
|
return new List<string>
|
{
|
"HDML 1",
|
"HDML 2",
|
"HDML 3",
|
"HDML 4",
|
"Live TV",
|
"PS",
|
"AV",
|
};
|
}
|
|
|
}
|
|
|
|
}
|