using Shared.Phone.UserCenter;
using System;
using System.Collections.Generic;
using System.Text;
namespace Shared.Phone.MainPage.Controls
{
///
/// 左滑的房间列表界面里面的房间卡片控件
///
public class ListRoomCardControl : FrameLayoutStatuControl
{
#region ■ 变量声明___________________________
///
/// 房间ID
///
private string roomId = string.Empty;
///
/// 房间图片控件
///
private ImageView picRoom = null;
///
/// 房间名称控件
///
private NormalViewControl btnRoomName = null;
///
/// 房间名字的背景
///
private NormalViewControl btnRoomNameBackGroud = null;
#endregion
#region ■ 初始化_____________________________
///
/// 左滑的房间列表界面里面的房间卡片控件
///
public ListRoomCardControl()
{
this.Width = HdlControlLogic.Current.GetPictrueRealSize(495);
this.Height = HdlControlLogic.Current.GetPictrueRealSize(354);
}
///
/// 初始化房间卡片控件
///
///
public void InitControl(Common.Room room)
{
this.roomId = room.Id;
//房间底部阴影效果
var btnRoomShadow = new NormalViewControl(this.Width, this.Height, false);
btnRoomShadow.UnSelectedImagePath = "Room/RoomCardView.png";
this.AddChidren(btnRoomShadow, ChidrenBindMode.NotBind);
//房间图片
this.picRoom = new ImageView();
picRoom.Gravity = Gravity.CenterHorizontal;
picRoom.Width = HdlControlLogic.Current.GetPictrueRealSize(467);
picRoom.Height = HdlControlLogic.Current.GetPictrueRealSize(311);
picRoom.Radius = (uint)Application.GetRealHeight(29);
this.AddChidren(picRoom, ChidrenBindMode.NotBind);
//遮罩
var frameBack = new NormalViewControl(picRoom.Width, picRoom.Height, false);
frameBack.Gravity = picRoom.Gravity;
frameBack.Radius = picRoom.Radius;
frameBack.BackgroundColor = 0x33000000;
this.AddChidren(picRoom, ChidrenBindMode.BindEvent);
//房间名字的背景
this.btnRoomNameBackGroud = new NormalViewControl(HdlControlLogic.Current.GetPictrueRealSize(141), Application.GetRealHeight(84), false);
btnRoomNameBackGroud.X = HdlControlLogic.Current.GetPictrueRealSize(14);
btnRoomNameBackGroud.BackgroundColor = 0x80000000;
this.AddChidren(btnRoomNameBackGroud, ChidrenBindMode.BindEvent);
//房间名字
this.btnRoomName = new NormalViewControl(50, Application.GetRealHeight(84), false);
btnRoomName.X = HdlControlLogic.Current.GetPictrueRealSize(14);
btnRoomName.TextSize = 12;
btnRoomName.IsBold = true;
btnRoomName.TextAlignment = TextAlignment.Center;
btnRoomName.TextColor = UserCenterColor.Current.White;
this.AddChidren(btnRoomName, ChidrenBindMode.BindEvent);
//刷新控件信息
this.RefreshControl();
}
#endregion
#region ■ 刷新控件___________________________
///
/// 刷新控件信息
///
public void RefreshControl()
{
var room = HdlRoomLogic.Current.GetRoomById(this.roomId);
if (room != null)
{
//刷新名字
btnRoomName.Text = room.Name;
int realWidth = btnRoomName.GetRealWidthByText() + HdlControlLogic.Current.GetPictrueRealSize(70);
if (realWidth < HdlControlLogic.Current.GetPictrueRealSize(141))
{
realWidth = HdlControlLogic.Current.GetPictrueRealSize(141);
}
else if (realWidth > HdlControlLogic.Current.GetPictrueRealSize(420))
{
realWidth = HdlControlLogic.Current.GetPictrueRealSize(420);
}
btnRoomName.Width = realWidth;
btnRoomNameBackGroud.Width = realWidth;
btnRoomNameBackGroud.SetCornerWithSameRadius(picRoom.Radius, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomRight);
//刷新图片
if (room.BackgroundImageType == 0)
{
picRoom.ImagePath = room.BackgroundImage;
}
else
{
picRoom.ImagePath = System.IO.Path.Combine(Common.Config.Instance.FullPath, room.BackgroundImage);
}
}
}
#endregion
}
}