gxc
2020-02-28 66a9965c44ecc32a6696abca876ab9d1cd091584
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameControl.cs
@@ -18,7 +18,18 @@
        /// <summary>
        /// 桌布控件
        /// </summary>
        private FrameLayout frameTable = null;
        private FrameLayout m_frameTable = null;
        /// <summary>
        /// 桌布控件
        /// </summary>
        public FrameLayout frameTable
        {
            get
            {
                if (m_frameTable == null) { this.InitFrameTable(); }
                return m_frameTable;
            }
        }
        #endregion
@@ -38,14 +49,14 @@
        /// </summary>
        private void InitFrameTable()
        {
            if (this.frameTable != null)
            if (this.m_frameTable != null && this.m_frameTable.Parent != null)
            {
                return;
            }
            this.frameTable = new FrameLayout();
            this.frameTable.Width = this.Width;
            this.frameTable.Height = this.Height;
            this.AddChidren(this.frameTable);
            this.m_frameTable = new FrameLayout();
            this.m_frameTable.Width = this.Width;
            this.m_frameTable.Height = this.Height;
            this.AddChidren(this.m_frameTable);
        }
        #endregion
@@ -61,16 +72,16 @@
            //初始化桌布控件
            this.InitFrameTable();
            var child = this.frameTable.GetChildren(this.frameTable.ChildrenCount - 1);
            var child = this.m_frameTable.GetChildren(this.m_frameTable.ChildrenCount - 1);
            if (child != null)
            {
                frame.Y = child.Bottom + rowSpace;
            }
            this.frameTable.AddChidren(frame);
            this.m_frameTable.AddChidren(frame);
            //调整桌布高度
            if (this.frameTable.Height < frame.Bottom)
            if (this.m_frameTable.Height < frame.Bottom)
            {
                this.frameTable.Height = frame.Bottom;
                this.m_frameTable.Height = frame.Bottom;
            }
        }
@@ -101,17 +112,36 @@
        /// </summary>
        public void AdjustTableHeight()
        {
            var child = this.frameTable?.GetChildren(this.frameTable.ChildrenCount - 1);
            var child = this.m_frameTable?.GetChildren(this.m_frameTable.ChildrenCount - 1);
            if (child != null)
            {
                //调整桌布高度
                if (this.frameTable.Height < child.Bottom)
                {
                    this.frameTable.Height = child.Bottom;
                }
                this.m_frameTable.Height = child.Bottom;
                //if (this.m_frameTable.Height < child.Bottom)
                //{
                //    this.m_frameTable.Height = child.Bottom;
                //}
            }
        }
        /// <summary>
        /// 针对底部点击按钮,调整控件真实高度
        /// </summary>
        /// <param name="correctionsValue">Y轴补正值(真实值,列表控件不在bodyFramelayout的时候使用)</param>
        public void AdjustRealHeightByBottomButton(int correctionsValue = 0)
        {
            var btnTemp = new BottomClickButton();
            if (btnTemp.Yaxis >= this.m_frameTable.Height + correctionsValue)
            {
                //没有超过
                return;
            }
            //添加临时控件,直至可以滑动超过底部按钮
            var frameBackTemp = new FrameLayout();
            frameBackTemp.Height = ControlCommonResourse.BodyFrameHeight - btnTemp.Yaxis + Application.GetRealHeight(23);
            this.AddChidrenFrame(frameBackTemp);
        }
        #endregion
    }
}