Delphi TGridLayout布局和项之间的填充

时间:2013-07-28 14:27:31

标签: ios delphi firemonkey

我已经尝试使用TGridLayout来保存一系列TImage对象,每个对象都加载了一个位图。但是,cotrols之间没有余量。我已经尝试使TImage宽度/高度小于TGridLayout itemheight / itemwidth,但没有运气。

示例代码:

ImageRef := TImage.Create(GridLayoutGallery);
ImageRef.Visible := False; // se true later
ImageRef.Width := GridLayoutGallery.ItemWidth - 10;
ImageRef.Height := GridLayoutGallery.ItemHeight - 10;
GridLayoutGallery.AddObject(ImageRef);

2 个答案:

答案 0 :(得分:4)

你自己接近一个答案,这就是我如何实现这个目标:

假设您的网格包含一系列尺寸为40 x 40像素的图像

enter image description here

要在图像之间应用边距,只需将ItemWidth组件的ItemHeightTGridLayout属性设置为大于实际图像大小的值,例如42 x 42像素。

enter image description here

这应该在放置在TGridLayout中的每个图像周围创建一个边距。

答案 1 :(得分:1)

查看TGridLayout的说明: http://docwiki.embarcadero.com/Libraries/XE7/en/FMX.Layouts.TGridLayout

  

调整 TGridLayout 的子项的大小以适合通过ItemHeight和ItemWidth属性指定的大小。 [...]但是,您可以使用子控件的边距属性自定义子控件的大小。   Image taken from Embarcadero

- >将ItemHeight和ItemWidth设置为(ImageSize + MarginSize)
- >将图像的边距设置为(MarginSize)