修复 XE8 FMX TGridLayout 容器自动计算宽度及高度的问题
说明:TGridLayout 提供计算容器内控件等分的功能:
- 横式(Orientation=Horizontal)可将 ItemWidth = -1(小于0则自动等分)
- 直式(Orientation=Vertical)可将 ItemHeight = -1(小于0则自动等分)
问题:当 TGridLayout 设定 Padding 边界时,会造成等分计算错误。
适用:XE8 Firemonkey
修复方法:
请将源码 FMX.Layouts.pas 复制到自己的工程目录里,再进行修改。
找到: if CurPos.X + LItemWidth > Self.Width - Self.Padding.Left - 改成: if CurPos.X + LItemWidth - Self.Padding.Left - 0.1 > Self.Width - Self.Padding.Left - 找到: if CurPos.Y + LItemHeight > Self.Height - Self.Padding.Top - 改成: if CurPos.Y + LItemHeight - Self.Padding.Top - 0.1 > Self.Height - Self.Padding.Top -
效果: