Адаптивная кнопка в Figma создаётся путём применения функции Auto Layout к группе элементов (текст, иконка, фон), которая автоматически изменяет размер и расстояние между компонентами при изменении содержимого. Это позволяет кнопке масштабироваться без ручной корректировки размеров при изменении текста или добавлении иконок.
Зачем нужна адаптивная кнопка с Auto Layout
- Автоматическое изменение размера кнопки при изменении текста, без необходимости вручную растягивать элемент.
- Сохранение отступов и расстояний между элементами (текст, иконка) при масштабировании кнопки.
- Упрощение создания компонентов для дизайн-системы, которые можно переиспользовать в разных частях проекта.
- Ускорение процесса дизайна благодаря автоматизации изменения размеров элементов.
- Обеспечение консистентности дизайна при работе в команде, так как все кнопки будут вести себя одинаково.
Пошаговая инструкция по созданию адаптивной кнопки
- Откройте проект в Figma и создайте новый фрейм (
Frame) размером примерно 200×60 пикселей для кнопки. - Добавьте прямоугольник (
Rectangle) внутри фрейма, который будет фоном кнопки, и установите нужный цвет заливки. - Добавьте текстовый элемент (
Text) с текстом кнопки (например, «Нажмите здесь») поверх прямоугольника. - При необходимости добавьте иконку (
Icon) слева или справа от текста как отдельный элемент. - Выделите прямоугольник (фон кнопки), нажав на него один раз в левой панели.
- Нажмите на кнопку
Add auto layoutв правой панели (или используйте горячую клавишуShift+A). - Откроется панель настроек Auto Layout; установите направление макета как
Horizontal(слева направо). - В параметре
Paddingустановите внутренние отступы: например, 16 пикселей слева/справа и 12 пикселей сверху/снизу. - В параметре
Gapустановите расстояние между текстом и иконкой, если иконка присутствует (например, 8 пикселей). - Перетащите текстовый элемент внутрь фрейма с Auto Layout.
- Если добавляется иконка, перетащите её также внутрь фрейма с Auto Layout.
- Убедитесь, что все элементы (текст и иконка) выровнены вертикально относительно друг друга через параметр
Align(выберитеCenter). - Установите параметр
Fill containerдля фона кнопки, чтобы он занимал всё доступное пространство внутри фрейма. - Проверьте результат, изменив текст кнопки на более длинный или короткий — кнопка должна автоматически изменить размер.
- Если нужна иконка, убедитесь, что её размер зафиксирован (например, 24×24 пикселя), чтобы она не масштабировалась при изменении текста.
- Создайте компонент из этой кнопки, нажав
Create component(или правой кнопкой мыши →Create component). - Сохраните проект, нажав
Ctrl+S(Windows) илиCmd+S(Mac).
Настройка состояний и вариантов кнопки
- После создания компонента добавьте варианты для разных состояний кнопки:
Default,Hover,Active,Disabled. - Для каждого варианта измените цвет фона и текста через правую панель в разделе
Design. - Используйте копирование компонента для быстрого создания вариантов: выберите компонент и нажмите
Ctrl+D(Windows) илиCmd+D(Mac). - Убедитесь, что все варианты используют один и тот же Auto Layout, чтобы сохранить адаптивность.
Часто задаваемые вопросы
Почему текст кнопки не центрируется относительно иконки при использовании Auto Layout? Выделите текстовый элемент и установите параметр Align на Center в разделе Auto Layout, или измените значение Vertical align на Middle в панели свойств.
Как зафиксировать размер иконки так, чтобы она не масштабировалась при изменении размера кнопки? Выделите иконку внутри Auto Layout и установите фиксированное значение ширины и высоты в разделе Constraints или отключите Fill container для этого элемента.
Можно ли использовать Auto Layout для кнопки с множественными элементами (текст, иконка слева и иконка справа)? Да, создайте вложенные Auto Layout: основной слой с горизонтальной ориентацией для всей кнопки и вложенные слои для иконок слева и справа с вертикальной ориентацией.