Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Delphi TGridLayout项目之间的布局和填充_Ios_Delphi_Firemonkey - Fatal编程技术网

Ios Delphi TGridLayout项目之间的布局和填充

Ios Delphi TGridLayout项目之间的布局和填充,ios,delphi,firemonkey,Ios,Delphi,Firemonkey,我尝试使用TGridLayout保存一系列TImage对象,每个对象加载一个位图,得到了一些结果。然而,两种控制之间没有余量。我已经尝试使TImage width/height小于TGridLayout itemheight/itemwidth,但没有成功 示例代码: ImageRef := TImage.Create(GridLayoutGallery); ImageRef.Visible := False; // se true later ImageRef.Width := GridLay

我尝试使用TGridLayout保存一系列TImage对象,每个对象加载一个位图,得到了一些结果。然而,两种控制之间没有余量。我已经尝试使TImage width/height小于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);

你自己也接近于一个答案,以下是我将如何做到这一点:

假设网格包含一系列大小为40 x 40 px的图像

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


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

查看TGridLayout的描述:

TGridLayout的子级将调整大小,以适合通过ItemHeight和ItemWidth属性指定的大小。[…]但是,您可以使用子控件的边距属性自定义子控件的大小。

->将ItemHeight和ItemWidth设置为(ImageSize+MarginSize)

->将图像的边距设置为(MarginSize)

是否尝试将图像设置为
。将边距对齐
设置为
True
,然后调整图像的
边距。边距属性?@灯泡,通过将边距设置为每个图像将导致图像缩小,质量将受到影响。布局中每个对象的大小最终由GridLayout组件本身决定。@Lightbull谢谢。这个建议实际上是有效的,我现在将使用它,直到我有更多的时间来试验其他建议的解决方案。(我的日程排得很紧)@Tom,你的解决方案不起作用,因为你试图更改Timage控件的实际宽度和高度,它不能那样工作。正如我所说,TGridLayout控制控件的大小。将TImage插入布局之前的任何大小都将重置为TGridLayout.OK设置的值。我现在明白了。虽然这会有点混乱,因为我有一个例程,可以将位图的大小调整到最适合我的图片的大小,但我想我会重写它,除非我找到另一个解决方案!:)@Tom,它应该一点也不混乱,您需要确保的是TImage的宽度和高度小于TGridLayour Height和Width属性中使用的值。