Main Content

在 App 设计工具中管理可调整大小的 App

默认情况下,您在 App 设计工具中创建的 App 可调整大小。当用户在运行时更改窗口大小时,组件会自动重新定位和调整大小。AutoResizeChildren 属性负责控制这种自动调整大小的行为。默认情况下,App 设计工具为 UI 图窗及其所有子容器(如面板和选项卡)启用此属性。要将子容器的 AutoResizeChildren 属性设置为不同值,请在设置父容器的值后再设置子容器的值。

Two UI figure windows of different sizes. On the left, the window contains a set of axes, a drop-down list, and a button. On the right, the window is wider and contains the same components. The axes and drop-down list are wider to fill the window, and the button is the same size.

当为容器启用 AutoResizeChildren 属性时,MATLAB® 仅管理容器中直接子对象的大小和位置。嵌套容器中的组件由其直接父级的 AutoResizeChildren 属性管理。要确保在调整 App 大小时保持组件(如分组按钮)之间的彼此相对对齐,请将分组组件作为面板的父级,而不是直接作为图窗的父级。

用归一化位置单位调整图形对象的大小

当图形对象(如坐标区或图)使用归一化位置单位并且是可调整大小容器的子级时,图形对象的某些属性在父容器调整大小后会受到影响。例如,如果坐标区或图对 Units 属性使用 'normalized' 值,并且它们的父级是 AutoResizeChildren 属性设置为 'on' 的容器,则:

  • 当 App 调整大小时,坐标区或图的 OuterPosition 属性的值会发生变化。

  • 调整 App 大小时,坐标区或图不会缩小到小于最小大小。

如果您要避免这些行为,请将容器的 AutoResizeChildren 属性设置为 'off'

默认自动调整大小行为的替代方法

如果您要更灵活地自动调整 App 的大小,请使用网格布局管理器或 App 设计工具中的自动调整布局选项,而不是 AutoResizeChildren 属性。有关这些选项的详细信息,请参阅:

如果 AutoResizeChildren、网格布局管理器或自动调整布局选项支持的调整大小行为不是您需要的,您可以通过为容器编写 SizeChangedFcn 回调函数来创建自定义调整大小行为。有关详细信息,请参阅Manage App Resize Behavior Programmatically

另请参阅

相关主题