主要内容

使用网格布局管理器

网格布局管理器提供了一种无需设置UI组件像素位置的方法来布局你的应用程序位置向量。对于可调整大小的应用,网格布局管理器提供了比App Designer中自动调整大小更大的灵活性。它们的配置也比编码容易SizeChangedFcn回调函数。

添加和配置网格布局管理器

在App Designer中,您可以将网格布局管理器添加到空白应用程序或图中的空容器组件中。

若要使用网格布局管理器,请将网格布局从组件库到画布上。或者,您可以右键单击图形或容器并选择应用网格布局从上下文菜单中。网格布局管理器横跨整个应用程序窗口或放置它的容器。它是不可见的,除非你在App Designer画布上积极地配置它。

要配置网格布局管理器,请参见设计视图,点击添加网格布局的区域,使网格布局成为焦点。然后,选择按钮,或者右键单击网格布局并选择配置网格布局。然后,选择一行或列,并从调整配置菜单,指定适合,加权,或固定。有关这些选项的更多信息,请参见GridLayout属性。您还可以添加或删除行和列。

将组件从基于像素的位置转换为网格布局管理器

您还可以将UI图形或容器中的组件从基于像素的定位转换为网格布局管理器。当您将网格布局管理器应用到包含组件的UI图形或容器时,组件将被添加到网格布局管理器及其位置向量被替换为布局。行布局。列值,用于指定它们在网格中的位置。控件中的组件层次结构也会更新浏览器组件

网格布局管理器支持不同于其他容器组件的属性金宝app。在某些情况下,如果设置了这些属性类型,或者设置了由网格布局管理时不可用的组件属性,则可能需要更新回调代码。如果您的回调或其他行为不能如预期的那样工作,那么查找与此表中列出的代码模式类似的代码模式。

症状或警告 解释 建议的行动
Warning: Unable to set 'Position', 'InnerPosition' or 'OuterPosition' for components in 'GridLayout'。 你不能设置位置属性在网格布局管理器中的组件上。 属性指定组件的网格位置布局房地产以适当的值。
错误使用matlab.ui.container.GridLayout /组
GridLayout类上没有FontSize属性。
网格布局管理器可能不支持在其他容器组件上设置的属性。金宝app 更新您的代码,以便在预期的容器上设置属性。
分配给容器的上下文菜单不会在运行的应用程序中打开。 当您向容器添加网格布局管理器时,它将跨越整个容器。这意味着单击事件发生在网格上,而不是容器上。 将上下文菜单重新分配到网格布局中。

示例:转换组件使用网格布局管理器而不是基于像素的位置

这个应用程序演示了如何将一个网格布局管理器应用到一个已经包含组件的应用程序的图形。它还展示了如何配置网格布局管理器,以便行和列自动调整以适应基于文本的组件大小的变化。

  1. 在app Designer中打开应用程序。在设计视图,将网格布局管理器拖到图中。

  2. 右键单击刚刚添加到图中的网格布局管理器并选择配置网格布局从上下文菜单中。

  3. 逐个选择包含下拉菜单和表格的网格的行和列,并将它们的大小调整配置更改为适合。完成后,在检查员选项卡的浏览器组件,ColumnWidth值是12.64 x 1.89 x,健康,健康,健康,健康RowHeight值是1 x,健康,1.93 x,健康,3.07 x,健康

  4. 切换到代码视图。更新DropDownValueChanged回调使allchild中的组件设置字体名称和字体大小app.GridLayout,而不是inapp.UIFigure

  5. 现在运行应用程序,看看网格如何调整以适应组件的大小变化。

另请参阅

功能

属性