align

Выравнивание компонентов управления пользовательским интерфейсом и объектов осей

    Используйте эту функцию только с GUIDE или с приложениями, созданными с помощью figure функция.

    Описание

    Выравнивание объектов по вертикали

    пример

    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', 'center', или 'right'

    valign

    Определение

    'left'

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

    'center'

    Центрируйте объекты по вертикали.

    'right'

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

    Все опции выравнивания выравнивают объекты ограничивающего прямоугольника, который окружает объекты. The 'left' опция выравнивает левые края объектов по левому краю ограничивающего прямоугольника, который их содержит, и аналогично для 'right'. The 'center' опция выравнивает центр объектов по центру ограничивающего прямоугольника.

    Регулировка интервала между объектами, заданная как 'none' или 'distribute'.

    • 'none' - Не изменяйте интервалы между объектами. При выравнивании объектов по вертикали не перемещайте их горизонтально. При выравнивании объектов по горизонтали не перемещайте их вертикально.

    • 'distribute' - Равномерно распределите объекты. При выравнивании объектов по вертикали равномерно распределите объекты по горизонтали между левыми и правыми ребрами ограничивающего прямоугольника, который их окружает. При выравнивании объектов по горизонтали равномерно распределите объекты по вертикали между верхними и нижними ребрами ограничивающего прямоугольника, который их окружает.

    Как выровнять объекты по горизонтали в components, заданный как 'top', 'middle', или 'bottom'.

    halign

    Определение

    'top'

    Выровнять по горизонтали верхние края объектов.

    'middle'

    Центрируйте объекты по горизонтали.

    'bottom'

    Выровнять по горизонтали нижние ребра объектов.

    Все опции выравнивания выравнивают объекты ограничивающего прямоугольника, который окружает объекты. The 'top' опция выравнивает верхние края объектов по верхнему краю ограничивающего прямоугольника, который их содержит, и также для 'bottom'. The 'middle' опция выравнивает средние области объектов по середине ограничивающего прямоугольника.

    Фиксированное расстояние между объектами, заданное как скаляр в точках, где 72 точки равны 1 дюйму.

    Текущие положения объекта, заданные как матрица, строки которой являются векторами положения. Каждый вектор положения является вектором с четырьмя элементами, который задает местоположение и размер объекта в форме [left bottom width height]. Все измерения вектора положения указаны в пикселях модулей.

    См. также

    | |

    Введенный в R2012b