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 } }