陈嘉乐
2020-07-10 48ba446936b51fffafa7c3600c0dadc6ac0e8c20
ZigbeeApp/Shared/Phone/MainPage/Controls/ListRoomCardControl.cs
@@ -8,7 +8,7 @@
    /// <summary>
    /// 左滑的房间列表界面里面的房间卡片控件
    /// </summary>
    public class ListRoomCardControl : FrameLayoutControl
    public class ListRoomCardControl : FrameLayoutStatuControl
    {
        #region ■ 变量声明___________________________
@@ -24,6 +24,10 @@
        /// 房间名称控件
        /// </summary>
        private NormalViewControl btnRoomName = null;
        /// <summary>
        /// 房间名字的背景
        /// </summary>
        private NormalViewControl btnRoomNameBackGroud = null;
        #endregion
@@ -34,8 +38,8 @@
        /// </summary>
        public ListRoomCardControl()
        {
            this.Width = Application.GetRealWidth(495);
            this.Height = Application.GetRealHeight(354);
            this.Width = HdlControlLogic.Current.GetPictrueRealSize(495);
            this.Height = HdlControlLogic.Current.GetPictrueRealSize(354);
        }
        /// <summary>
@@ -54,8 +58,8 @@
            //房间图片
            this.picRoom = new ImageView();
            picRoom.Gravity = Gravity.CenterHorizontal;
            picRoom.Width = Application.GetRealWidth(467);
            picRoom.Height = Application.GetRealHeight(311);
            picRoom.Width = HdlControlLogic.Current.GetPictrueRealSize(467);
            picRoom.Height = HdlControlLogic.Current.GetPictrueRealSize(311);
            picRoom.Radius = (uint)Application.GetRealHeight(29);
            this.AddChidren(picRoom, ChidrenBindMode.NotBind);
@@ -64,22 +68,22 @@
            frameBack.Gravity = picRoom.Gravity;
            frameBack.Radius = picRoom.Radius;
            frameBack.BackgroundColor = 0x33000000;
            this.AddChidren(picRoom, ChidrenBindMode.BindEventOnly);
            this.AddChidren(picRoom, ChidrenBindMode.BindEvent);
            //房间名字的背景
            var btnRoomNameBackGroud = new NormalViewControl(Application.GetRealWidth(141), Application.GetRealHeight(84), false);
            btnRoomNameBackGroud.X = Application.GetRealWidth(14);
            btnRoomNameBackGroud.UnSelectedImagePath = "Room/RoomCardView_Name.png";
            this.AddChidren(btnRoomNameBackGroud, ChidrenBindMode.BindEventOnly);
            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(btnRoomNameBackGroud.Width, btnRoomNameBackGroud.Height, false);
            btnRoomName.X = Application.GetRealWidth(14);
            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.BindEventOnly);
            this.AddChidren(btnRoomName, ChidrenBindMode.BindEvent);
            //刷新控件信息
            this.RefreshControl();
@@ -99,15 +103,19 @@
            {
                //刷新名字
                btnRoomName.Text = room.Name;
                if (btnRoomName.GetRealWidthByText() > Application.GetRealWidth(141))
                int realWidth = btnRoomName.GetRealWidthByText() + HdlControlLogic.Current.GetPictrueRealSize(70);
                if (realWidth < HdlControlLogic.Current.GetPictrueRealSize(141))
                {
                    //字体长度超过
                    btnRoomName.TextAlignment = TextAlignment.CenterLeft;
                    realWidth = HdlControlLogic.Current.GetPictrueRealSize(141);
                }
                else
                else if (realWidth > HdlControlLogic.Current.GetPictrueRealSize(420))
                {
                    btnRoomName.TextAlignment = TextAlignment.Center;
                    realWidth = HdlControlLogic.Current.GetPictrueRealSize(420);
                }
                btnRoomName.Width = realWidth;
                btnRoomNameBackGroud.Width = realWidth;
                btnRoomNameBackGroud.SetCornerWithSameRadius(picRoom.Radius, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomRight);
                //刷新图片
                if (room.BackgroundImageType == 0)
                {