align

Выровняйте UIControl компоненты и Axes объекты

    Описание

    Примечание

    align функция не поддерживается в App Designer или в приложениях, созданных с помощью uifigure функция. Вместо этого используйте менеджера по размещению сетки, чтобы выровнять компоненты в вашем приложении. Для получения дополнительной информации см. альтернативную функциональность.

    Выровняйте объекты вертикально

    пример

    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 если они выравниваются, но положения объектов на фигуре не изменяются. Используйте эту опцию с любой из входных комбинаций в предыдущих синтаксисах, заменяя components с cpositions.

    Примеры

    свернуть все

    Создайте фигуру, содержащую три кнопки, которые не совсем вертикально выравниваются.

    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)

    Входные параметры

    свернуть все

    Объекты выровняться в виде вектора из UIControl или Axes объекты. Если вектор содержит объекты типов кроме UIControl или Axes, align функция игнорирует их. Выравнивание объектов не изменяет их абсолютные размеры.

    Как вертикально выровнять объекты в componentsВ виде 'left'центр , или '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]. Все измерения радиус-вектора находятся в пиксельных модулях.

    Альтернативная функциональность

    В App Designer и в приложениях, созданных с помощью uifigure функция, используйте менеджера по размещению сетки, чтобы выровнять компоненты. Используя менеджеров по размещению сетки, можно разметить компоненты пользовательского интерфейса в сетке. Создайте менеджера по размещению сетки путем вызова uigridlayout функционируйте или, в App Designer, перетаскивая компонент Grid Layout на холст.

    Например, чтобы выровнять три кнопки вертикально в верхнем левом углу фигуры, создайте менеджера по размещению сетки, содержащего четыре строки и два столбца. Укажите, что первый столбец и первые три строки масштабируют для соответствия компонентам, которые они содержат. Затем создайте эти три кнопки и добавьте их в первые три строки первого столбца.

    fig = uifigure;
    fig.Position = [100 100 200 200];
    gl = uigridlayout(fig);
    gl.RowHeight = {'fit','fit','fit','1x'};
    gl.ColumnWidth = {'fit','1x'};
    
    btn1 = uibutton(gl);
    btn1.Layout.Row = 1;
    btn1.Layout.Column = 1;
    btn2 = uibutton(gl);
    btn2.Layout.Row = 2;
    btn2.Layout.Column = 1;
    btn3 = uibutton(gl);
    btn3.Layout.Row = 3;
    btn3.Layout.Column = 1;
    

    Figure window with three buttons stacked vertically in the upper-left corner.

    В качестве альтернативы в App Designer, используйте опции Space во вкладке Canvas, чтобы выровнять компоненты в Design View. Для получения дополнительной информации смотрите, Размечают Приложения в Режиме конструктора App Designer.

    Смотрите также

    | |

    Представленный в R2012b