刚刚开始测试FireMonkey,无法找到制作动态大小/定位组件的方法。
VCL有Anchor属性,FM没有。
任何人都会看到我错过的东西
更新
FM中没有简单的锚定功能。您必须创建TLayouts并对齐它们,然后将控件放在面板中以使它们“粘住”。如果您使用的是旧版本的Builder或Delphi,这将与我们以前与TPanels相同。
答案 0 :(得分:11)
这是你问题的答案。 VCL中的anchors属性显然已被Margins和Padding取代(由于性能考虑),我在XE2 wiki(http://docwiki.embarcadero.com/RADStudio/en/FireMonkey_Application_Design)找到了一些文档。我怀疑锚是否会在以后投入使用。要在右侧的表单底部锚定两个按钮(确定和取消),请执行以下操作。请参阅下面的图像以获取确定和取消按钮。
在表格上放置一个与底部对齐的小面板,比如大约40个高度。设置底部面板上的“边距”以创建一个较小的空间,按钮将在该空间中生效,请确保将按钮设置为alRight。例如,窗体右边缘和最右边按钮之间的间隙边距为15.顶部和底部边距设置为12.固定最右边的按钮。
'填充'与边距相反,填充将空间置于控件之外。在最右边的按钮中,我向 left 侧添加了20的填充,这将是两个按钮之间的空间。对于第一个左边的第二个按钮,我们需要做的是将align属性设置为alRight,不需要调整填充或边距。
答案 1 :(得分:7)
在表单上删除多个TLayout组件,并根据需要配置其对齐属性。将其他组件拖放到这些布局中,并相对于它们所包含的TLayout设置它们的对齐属性。似乎对我有用......
答案 2 :(得分:5)
以下是您正在寻找的答案:FMX控件没有锚点。
我想这将是一个“下一个版本”功能。
答案 3 :(得分:1)
快速查看align属性可以发现比以前的Delphi版本更多的选择:
这不能解决您的问题(至少部分解决)
我记得很长一段时间,只需使用嵌套的panel
和align
进行布局。
答案 4 :(得分:0)
您可以使用LiveBindings和表达式根据父控件设置控件的属性,尽管它有很多工作。
否则,请使用边距和填充(如HTML / CSS)。