using System;
|
|
namespace Shared.SimpleControl.Pad
|
{
|
public class UserDeviceToTV : Dialog
|
{
|
|
VerticalScrolViewLayout RoomListScrolView;
|
/// <summary>
|
/// 当前界面
|
/// </summary>
|
public static UserDeviceToTV curView;
|
FrameLayout ControlBodyView;
|
public UserTVNumberView ControlNumberView;
|
public UserTVFrameLayout ControlTVView;
|
/// <summary>
|
/// 构造函数
|
/// </summary>
|
public UserDeviceToTV ()
|
{
|
curView = this;
|
showAllRoomTV ();
|
}
|
|
/// <summary>
|
/// 显示房间的所有电视
|
/// </summary>
|
void showAllRoomTV ()
|
{
|
FrameLayout topBackView = new FrameLayout () {
|
Height = Application.GetRealHeight (150),
|
BackgroundColor = 0xFF2f2f2f
|
};
|
AddChidren (topBackView);
|
#region 标题
|
var topView = new FrameLayout () {
|
Y = Application.GetRealHeight (36),
|
Height = Application.GetRealHeight (90),
|
};
|
AddChidren (topView);
|
|
var title = new Button () {
|
TextAlignment = TextAlignment.Center,
|
Text = Language.StringByID (R.MyInternationalizationString.TV),
|
TextSize = 19,
|
};
|
topView.AddChidren (title);
|
|
var logo = new Button () {
|
Width = Application.GetRealWidth (154),
|
Height = Application.GetRealHeight (90),
|
X = Application.GetRealWidth (486),
|
UnSelectedImagePath = MainPage.LogoString,
|
};
|
topView.AddChidren (logo);
|
var back = new Button () {
|
Height = Application.GetRealHeight (100),
|
Width = Application.GetRealWidth (85),
|
UnSelectedImagePath = "Item/Back.png",
|
SelectedImagePath = "Item/BackSelected.png",
|
Gravity = Gravity.CenterVertical,
|
};
|
topView.AddChidren (back);
|
back.MouseUpEventHandler += (sender, e) => {
|
Close ();
|
curView = null;
|
};
|
|
var btnl = new Button () {
|
Height = 1,
|
BackgroundColor = 0xFF2f2f2f,
|
Y = topView.Height - 1
|
};
|
topView.AddChidren (btnl);
|
#endregion
|
|
FrameLayout bordorView = new FrameLayout () {
|
Width = Application.GetRealWidth (480),
|
Height = Application.GetRealHeight (Application.DesignHeight - 150),
|
Y = Application.GetRealHeight (150),
|
BackgroundColor = 0xFF2f2f2f
|
};
|
AddChidren (bordorView);
|
|
#region powerView
|
var powerView = new FrameLayout () {
|
Height = Application.GetRealHeight (110),
|
BackgroundColor = SkinStyle.Current.MainColor,
|
};
|
bordorView.AddChidren (powerView);
|
|
var showAllroom = new Button () {
|
Height = Application.GetRealHeight (108),
|
TextAlignment = TextAlignment.Center,
|
Text = " " + Language.StringByID (R.MyInternationalizationString.AllRoom),
|
};
|
powerView.AddChidren (showAllroom);
|
var btnLine1 = new Button () {
|
Height = 1,
|
Y = powerView.Height - 1,
|
BackgroundColor = 0xFF2f2f2f,
|
};
|
powerView.AddChidren (btnLine1);
|
var btnLine = new Button () {
|
Width = 1,
|
X = powerView.Width - 1,
|
BackgroundColor = 0xFF2f2f2f,
|
};
|
powerView.AddChidren (btnLine);
|
#endregion
|
|
RoomListScrolView = new VerticalScrolViewLayout () {
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (1136 - 126 - 110),
|
Y = powerView.Bottom
|
};
|
bordorView.AddChidren (RoomListScrolView);
|
ControlBodyView = new FrameLayout () {
|
Width = Application.GetRealWidth (Application.DesignWidth) - bordorView.Width,
|
Height = Application.GetRealHeight (Application.DesignHeight - 150),
|
X = bordorView.Right,
|
Y = bordorView.Y,
|
BackgroundColor = SkinStyle.Current.MainColor
|
};
|
AddChidren (ControlBodyView);
|
|
//显示有多少个房间
|
int devcieCount = 0;
|
foreach (var room in Room.Lists) {
|
if (room.Name == "") {
|
continue;
|
}
|
var infraredList = room.DeviceList.FindAll ((obj) => { return obj.Type == DeviceType.InfraredMode; });
|
var tvList = infraredList.FindAll ((obj) => { return ((InfraredMode)obj).InfraredType == InfraredType.TV; });
|
foreach (var tempTV in tvList) {
|
EventHandler<MouseEventArgs> openTVControlPageEvent = (button, mouseEventArgs) => {
|
for (int i = 0; i < RoomListScrolView.ChildrenCount; i++) {
|
var view = RoomListScrolView.GetChildren (i);
|
if (view.Tag == tempTV) {
|
for (int j = 0; j < (view as FrameLayout).ChildrenCount; j++) {
|
var btn = (view as FrameLayout).GetChildren (j);
|
(btn as Button).IsSelected = true;
|
}
|
} else {
|
for (int j = 0; j < (view as FrameLayout).ChildrenCount; j++) {
|
var btn = (view as FrameLayout).GetChildren (j);
|
(btn as Button).IsSelected = false;
|
}
|
}
|
}
|
ControlBodyView.RemoveAll ();
|
ControlNumberView = new UserTVNumberView () {
|
Width = Application.GetRealWidth (1000),
|
};
|
ControlBodyView.AddChidren (ControlNumberView);
|
ControlNumberView.Show (room, (InfraredMode)tempTV);
|
|
ControlTVView = new UserTVFrameLayout ((InfraredMode)tempTV) {
|
X = Application.GetRealWidth (1000),
|
Width = Application.GetRealWidth (Application.DesignWidth - 480 - 1000)
|
};
|
ControlBodyView.AddChidren (ControlTVView);
|
ControlTVView.ShowUserTV (tempTV as InfraredMode);
|
};
|
FrameLayout roomView = new FrameLayout () {
|
Height = Application.GetRealHeight (140),
|
BackgroundColor = 0xFF2f2f2f,
|
Tag = room.Name + "-" + tempTV.Name,
|
};
|
RoomListScrolView.AddChidren (roomView);
|
roomView.Tag = tempTV;
|
Button btnRoomName = new Button () {
|
Text = room.Name + "-" + tempTV.Name,
|
Padding = new Padding (0, 35, 0, 0),
|
TextAlignment = TextAlignment.CenterLeft,
|
SelectedTextColor = SkinStyle.Current.SelectedColor,
|
TextColor = SkinStyle.Current.TextColor1,
|
BackgroundColor = SkinStyle.Current.Transparent,
|
SelectedBackgroundColor = SkinStyle.Current.MainColor
|
};
|
roomView.AddChidren (btnRoomName);
|
var btnPoint = new Button () {
|
Width = Application.GetRealWidth (15),
|
Height = Application.GetRealHeight (15),
|
X = Application.GetRealWidth (45),
|
Gravity = Gravity.CenterVertical,
|
UnSelectedImagePath = "Item/Point.png",
|
SelectedImagePath = "Item/PointSelected.png",
|
};
|
roomView.AddChidren (btnPoint);
|
|
Button btnNull = new Button () {
|
Height = Application.GetRealHeight (5),
|
Y = Application.GetRealHeight (138),
|
BackgroundColor = SkinStyle.Current.MainColor,
|
};
|
roomView.AddChidren (btnNull);
|
Button btnNull2 = new Button () {
|
Width = 1,
|
X = roomView.Width - 1,
|
BackgroundColor = 0xFF2f2f2f,
|
};
|
roomView.AddChidren (btnNull2);
|
Button btnSelected = new Button () {
|
X = roomView.Width - 5,
|
Width = 5,
|
SelectedBackgroundColor = SkinStyle.Current.SelectedColor,
|
BackgroundColor = SkinStyle.Current.Transparent,
|
};
|
roomView.AddChidren (btnSelected);
|
btnRoomName.MouseUpEventHandler += openTVControlPageEvent;
|
|
if (devcieCount == 0) {
|
ControlNumberView = new UserTVNumberView () {
|
Width = Application.GetRealWidth (1000),
|
BackgroundColor = 0xFF333333
|
};
|
ControlBodyView.AddChidren (ControlNumberView);
|
ControlNumberView.Show (room, (InfraredMode)tempTV);
|
|
ControlTVView = new UserTVFrameLayout ((InfraredMode)tempTV) {
|
X = Application.GetRealWidth (1020),
|
Width = Application.GetRealWidth (Application.DesignWidth - 480 - 1000 - 20),
|
BackgroundColor = 0xFF333333
|
};
|
ControlBodyView.AddChidren (ControlTVView);
|
ControlTVView.ShowUserTV (tempTV as InfraredMode);
|
|
btnRoomName.IsSelected = true;
|
btnPoint.IsSelected = true;
|
btnSelected.IsSelected = true;
|
}
|
devcieCount++;
|
|
}
|
}
|
}
|
}
|
}
|