using Shared.Phone.UserCenter;
|
using System;
|
using System.Collections.Generic;
|
using System.Text;
|
|
namespace Shared.Phone.MainPage.Controls
|
{
|
/// <summary>
|
/// 左滑的房间列表界面里面的房间卡片控件
|
/// </summary>
|
public class ListRoomCardControl : FrameLayoutStatuControl
|
{
|
#region ■ 变量声明___________________________
|
|
/// <summary>
|
/// 房间ID
|
/// </summary>
|
private string roomId = string.Empty;
|
/// <summary>
|
/// 房间图片控件
|
/// </summary>
|
private ImageView picRoom = null;
|
/// <summary>
|
/// 房间名称控件
|
/// </summary>
|
private NormalViewControl btnRoomName = null;
|
/// <summary>
|
/// 房间名字的背景
|
/// </summary>
|
private NormalViewControl btnRoomNameBackGroud = null;
|
|
#endregion
|
|
#region ■ 初始化_____________________________
|
|
/// <summary>
|
/// 左滑的房间列表界面里面的房间卡片控件
|
/// </summary>
|
public ListRoomCardControl()
|
{
|
this.Width = HdlControlLogic.Current.GetPictrueRealSize(495);
|
this.Height = HdlControlLogic.Current.GetPictrueRealSize(354);
|
}
|
|
/// <summary>
|
/// 初始化房间卡片控件
|
/// </summary>
|
/// <param name="room"></param>
|
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 ■ 刷新控件___________________________
|
|
/// <summary>
|
/// 刷新控件信息
|
/// </summary>
|
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
|
}
|
}
|