Картинка

Во FlutterFlow за изображения отвечают два виджета:

  • Image — универсальный: показывает картинку из ассетов проекта, по ссылке из интернета или из файла, загруженного пользователем.

  • CircleImage — то же самое, но обрезанное в круг. Аватарки и логотипы.

Настроек у них много — от размеров и способа вписывания до анимации перехода между экранами.

Общие свойства

  • Width & Height — размеры в пикселях (px) или в процентах (%) от родителя; проценты дают адаптивность.

    • У CircleImage вместо ширины и высоты задаётся diameter — диаметр.
  • Border Radius — скругление углов. Значение задаётся отдельно для TL (верхний левый), TR (верхний правый), BL (нижний левый), BR (нижний правый) или сразу для всех. :::caution[CircleImage] У CircleImage этого свойства нет — виджет и так круглый. :::

Image Type

Откуда берётся картинка:

  • Network — по URL, который вводится в поле Path.

    • Cached — кешировать картинку локально. Со второго показа она открывается мгновенно; без кеша каждый заход в список заново тянет файлы по сети.

      • Если кеш включён у Image или CircleImage и не включён blur hash, доступна настройка Fade in/out duration — длительность проявления. У фоновой картинки контейнера такой настройки нет.
  • Asset — файл в проекте. Кнопка Upload Image + загружает картинку с компьютера или берёт уже загруженную. Здесь же переключатель Set Dark Mode: для тёмной темы можно подставить отдельный файл.

  • Uploaded File — картинка, которую пользователь загрузил прямо в приложении. Источник задаётся через Widget State > Uploaded File. Это вариант для пользовательского контента: аватар, фото товара, скан документа.

Box Fit

Как картинка вписывается в отведённое место:

image-boxfit.png

Горизонтальная и вертикальная картинка в разных режимах BoxFit
  • Fill — растянуть на всю область; пропорции при этом не сохраняются.
  • Contain — вписать целиком, сохранив пропорции; по краям может остаться пустое место.
  • Cover — заполнить всю область с сохранением пропорций; лишнее обрежется.
  • Fit Width — подогнать по ширине, по вертикали возможны пустоты.
  • Fit Height — подогнать по высоте, по горизонтали возможны пустоты.
  • None — исходный размер, без масштабирования.
  • Scale Down — по центру, уменьшить ровно настолько, чтобы поместилось.

Выравнивание

Определяет, где картинка встанет внутри области: сетка задаёт позицию (центр, верх, низ, слева, справа и их сочетания).

  • X и Y — точная подстройка положения по горизонтали и вертикали, когда девяти позиций сетки не хватает.

Дополнительные возможности

  • Show Error Image on Failure — показать заглушку, если картинка не загрузилась. Иначе на её месте останется пустота.

  • Use Blur Hash — пока грузится оригинал, показывать размытое пятно, восстановленное из короткого хеша. Экран выглядит заполненным с первого кадра.

  • Make Expandable — по нажатию картинка разворачивается на весь экран.

  • Use Hero Animation — при переходе между экранами картинка «перелетает» из одного места в другое вместо резкой смены кадра.

перевод официальной документации FlutterFlow

обновлено

ESC