移动教程:使用布局调整不同的表单大小或方向(iOS和Android)

来自RAD Studio
跳转到:航行,搜索

转到移动教程:移动应用程序开发(iOS和Android)

本教程介绍了使用硕士看法对于不同的外形尺寸(如手机或平板电脑),无需对每个外形尺寸使用不同的视图。

每个FireMonkey组件都可以有所有者、父组件和子组件

首先,每个FireMonkey组件都有Owner、Parent和Children的概念。如果在窗体上放置组件,则该窗体将成为组件的所有者和父级。

如果将组件(例如按钮、标签等)添加到另一个组件(例如工具栏),则工具栏既是按钮、标签和其他组件的父组件,也是其所有者。您可以在结构视图.

子级的布局定义为相对于其父级的值。在下图中,Label1是工具栏1的子级,而Label1的布局是相对于工具栏1的。

所有者ParentAndChildren.png

使用FireMonkey组件的公共布局相关属性

使用Align属性

A控件的排列属性确定是否自动沿其父对象的四个边或中心重新定位和/或调整大小,无论是在初始还是在调整父对象大小时。

的默认值排列属性为,这意味着不执行自动计算:控件停留在其放置的位置:

对齐=无

AlNone.png公司

的典型值排列属性如下(Dodgerblue表示子对象的区域):

顶部 底部
AlTop.png公司 AlBottom.png公司
左侧 赖特
AlLeft.png公司 AlRight.png公司
居中 顾客
阿尔中心.png AlClientLayout.png

如果您使用排列一个组件的值为Top、Bottom、Left或Right排列其他组件的属性使用剩余区域。

剩余区域的大小和形状(顾客)也会根据设备的方向和形状因素(iPhone或iPad)进行更改。

以下图片显示了当您有两(2)个组件使用时横向(水平)和纵向(垂直)的布局顶部和一(1)个使用顾客.

景观或PortlaitForm2.png上的所有客户端

使用边距属性

边距确保父级自动定位的控件之间的分隔。

在下图中,组件的右侧(对齐=顾客)使用边距属性以确保组件周围的空间。

使用PaddingProperty2.png

使用填充属性

衬垫在家长的内容框内部留出空间。在对象检查器中,可以为衬垫:

  • 左侧
  • 赖特
  • 底部
  • 顶部

在下图中,父组件(包含两个区域)使用衬垫属性以确保父组件内有空间:

使用MarginsProperty2.png

使用锚属性

当控件必须将其位置保持在距其父控件边缘一定距离的位置时,或者必须拉伸,同时保持其边缘和其父控件的边缘之间的原始距离时,需要使用定位。如果有规定,锚定控件“粘住”容器的侧面并拉伸。

编辑控件的锚定属性

如果您有编辑控件顶部的工具栏,您可能希望在编辑控件和窗体边缘(工具栏). 通过定位,可以指定控件相对于其父控件的边保持固定。

如果你想要编辑控件相对于工具栏(其父级)保持相同的相对位置,可以设置属性到akLeft、akTop、akRight。调整工具栏大小时,将根据锚定设置调整编辑控件的大小:

网间网操作系统

Ak编辑控制权限.png

安卓

Ak编辑控制权限Android.png


按钮控件的锚属性

如果工具栏右端有一个Button控件,则可能需要在正确的Button控件的边缘和窗体的边缘。但是,您可能不希望在左边Button控件的边缘和左边窗体的边缘。在这种情况下,可以将属性到akTop,akRight(ak顶部,ak右侧)(取消选择ak左),以便Button控件与工具栏(父级)保持相同的距离顶部赖特.

网间网操作系统:

Ak按钮控制权限.png

安卓:

Ak右键按钮控件Android.png

使用TLayout组件

T布局,一个在运行时不可见的组件,可用于将其子控件分组以作为整体进行操作。例如,可以通过设置可见布局的属性。T布局不会自动设置其子级的任何属性。

要使选定控件成为TLayout的子控件,请使用结构视图。
高亮显示要移动的控件。然后将控件组拖到应该是父控件的控件上,并将控件放在那里。在结构视图中,控件组现在是新父级的子级:

1.初始状态 2.突出显示要移动的控件 3.拖到父对象上

图层1.png

Tlayer2.png公司

T层3.png

你可以使用排列,衬垫,边距,和TLayout的其他属性来定义特定区域的布局。您可以像使用DIV公司HTML中的标记。


另请参阅