Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

align

对齐 UI 控件组件和坐标区对象

    此函数仅用于 GUIDE 或者使用 figure 函数创建的 App。

    说明

    垂直对齐对象

    示例

    align(components,valign,spacing) 垂直对齐指定的组件。该函数根据 valign 的值对齐对象的左侧、中心或右侧,并根据 spacing 的值调整对象之间的垂直间距。例如,align(components,'left','none') 对齐左边缘,不调整间距。每个对象的大小不变。

    align(components,valign,'fixed',distance) 将垂直间距调整为固定距离(以点为单位)。

    水平对齐对象

    align(components,spacing,halign) 水平对齐指定的组件。该函数根据 halign 的值对齐对象的上边缘、中间或下边缘,并根据 spacing 的值调整对象之间的水平间距。例如,align(components,'none','top') 对齐上边缘,不调整间距。每个对象的大小不变。

    示例

    align(components,'fixed',distance,halign) 将垂直间距调整为固定距离(以点为单位)。

    对齐重叠的对象

    示例

    align(components,valign,halign) 对齐彼此重叠的指定对象。这等效于根据 valign 垂直对齐对象,根据 halign 水平对齐对象。例如,align(components,'left','top') 对齐 components 中对象的左上角。

    返回计算出的位置

    示例

    如果指定对象对齐,则 positions = align(___) 以矩阵形式返回其计算出来的位置,但不移动对象。矩阵输出的每行均为一个位置向量。可以将此选项与前面语法中的任何输入参数组合一起使用。

    示例

    如果对象对齐,则 positions = align(cpositions,___) 返回其位置包含在 cpositions 中的对象计算出来的位置,但对象在图窗上的位置不变。可以将此选项与前面语法中的任何输入参数组合一起使用,用 cpositions 替换 components

    示例

    全部折叠

    创建一个包含不完全垂直对齐的三个按钮的图窗。

    f = figure('Position',[100 100 350 200]);
    u1 = uicontrol(f,'Position',[10 80 60 30],'String','One');
    u2 = uicontrol(f,'Position',[50 50 60 30],'String','Two');
    u3 = uicontrol(f,'Position',[30 10 60 30],'String','Three');
    

    垂直对齐按钮的中心,并使按钮之间的垂直间距相等。垂直对齐对象时,请在对象间距前指定垂直对齐参数。

    align([u1 u2 u3],'center','distribute');

    创建一个包含不完全水平对齐的三个按钮的图窗。

    f = figure('Position',[100 100 350 200]);
    u1 = uicontrol('Parent',f,'Position',[43 50 75 30],'String','Yes');
    u2 = uicontrol('Parent',f,'Position',[143 75 75 30],'String','No');
    u3 = uicontrol('Parent',f,'Position',[233 40 75 30],'String','Cancel');

    对齐这些按钮的底边缘,并将按钮之间的水平间距设置为 10 个点。水平对齐对象时,请在水平对齐参数前指定对象间距。

    align([u1 u2 u3],'fixed',10,'bottom');

    创建一个图窗,其中包含一个按钮和一个坐标区对象。

    f = figure('Position',[100 100 350 200]);
    ax = axes('Parent',f);
    btn = uicontrol('Parent',f,'String','Click');

    将按钮的中心与坐标区的中心对齐。第二个参数 'center' 指定垂直对齐,第三个参数 'middle' 指定水平对齐。

    align([ax btn],'center','middle');

    计算如果对象对齐的结束位置,但并不实际对齐它们。

    创建一个包含三个未对齐按钮的图窗。

    f = figure('Position',[100 100 350 200]);
    u1 = uicontrol('Parent',f,'Position',[130 25 75 30],'String','Yes');
    u2 = uicontrol('Parent',f,'Position',[35 60 75 30],'String','No');
    u3 = uicontrol('Parent',f,'Position',[200 160 75 30],'String','Cancel');

    通过调用带输出参数的 align 来预测按钮对齐的结果。输出表示为矩阵,其行是按钮的预测位置向量。

    pos1 = align([u1 u2 u3],'right','fixed',3)
    pos1 =
    
       200    25    75    30
       200    59    75    30
       200    93    75    30

    或者,向 align 传递按钮的位置向量。

    pos2 = align([u1.Position;u2.Position;u3.Position],'right','fixed',3)
    pos2 =
    
       200    25    75    30
       200    58    75    30
       200    91    75    30

    在这两种情况下,产生的位置是相同的。这两个函数调用都不会更改图窗中按钮的位置。

    figure(f)

    输入参数

    全部折叠

    要对齐的对象,指定为 UIControlAxes 对象的向量。如果向量包含 UIControlAxes 以外的类型的对象,则 align 函数会忽略它们。使对象对齐并不会改变它们的绝对大小。

    components 中对象的垂直对齐方式,指定为 'left''center''right'

    valign

    定义

    'left'

    垂直对齐对象的左边缘。

    'center'

    垂直居中对齐对象。

    'right'

    垂直对齐对象的右边缘。

    所有对齐选项都会在围住对象的边界框内对齐对象。'left' 选项将对象的左边缘与包含这些对象的边界框的左边缘对齐,'right' 亦然。'center' 选项将对象的中心与边界框的中心对齐。

    对象之间的间距调整,指定为 'none''distribute'

    • 'none' - 不更改对象之间的间距。垂直对齐对象时,不在水平方向移动它们。水平对齐对象时,不在垂直方向移动它们。

    • 'distribute' - 均匀分布对象。垂直对齐对象时,在包围这些对象的边界框的左右边缘之间水平均匀分布对象。水平对齐对象时,在包围这些对象的边界框的上下边缘之间垂直均匀分布对象。

    components 中对象的水平对齐方式,指定为 'top''middle''bottom'

    halign

    定义

    'top'

    水平对齐对象的上边缘。

    'middle'

    水平居中对齐对象。

    'bottom'

    水平对齐对象的下边缘。

    所有对齐选项都会在围住对象的边界框内对齐对象。'top' 选项将对象的上边缘与包含这些对象的边界框的上边缘对齐,'bottom' 亦然。'middle' 选项将对象的中间与边界框的中间对齐。

    对象之间的固定距离,指定为标量,以磅为单位,其中 72 磅等于 1 英寸。

    当前对象位置,指定为其中的行是位置向量的矩阵。每个位置向量是一个四元素向量,以 [left bottom width height] 形式指定对象的位置和大小。所有位置向量测量值都以像素为单位。

    另请参阅

    | |

    在 R2012b 中推出