Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
320 of 1024 menu
◀ ▶

Виджет Image

Виджет Image рисует картинку из ImageProvider, который передают в параметр image, или из именованных конструкторов network, asset, file и memory. Размер задают width и height, вписывание в рамку - параметр fit типа BoxFit.

Синтаксис

Image( image: AssetImage('assets/pic.png'), width: 120, height: 80, fit: BoxFit.cover, )

Параметры

Параметр Описание
image Провайдер картинки: AssetImage, NetworkImage и другие. Обязателен для основного конструктора.
width Ширина области, в которой рисуется картинка.
height Высота области рисования.
fit Как вписать картинку в заданный размер. Принимает BoxFit.
alignment К какому углу или стороне прижать картинку внутри области, если она не заполняет её целиком.
color Цвет наложения. Работает вместе с colorBlendMode.
errorBuilder Виджет, который показать, если загрузка не удалась.

Методы

Метод Описание
network Загружает картинку по URL. Давайте разберём параметры и примеры.
asset Читает картинку из папки assets проекта. Давайте разберём синтаксис и примеры.
file Показывает картинку из файла на устройстве. Давайте разберём параметры и примеры.
memory Строит картинку из массива байтов в памяти.

Пример

Давайте покажем картинку из активов с фиксированным размером:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: Image.asset( 'assets/pic.png', width: 160, height: 120, fit: BoxFit.contain, ), ), ), ), ); }

На экране по центру появится картинка из файла assets/pic.png, вписанная в прямоугольник 160 на 120 пикселей.

Пример

Давайте передадим провайдер в основной конструктор:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: Image( image: NetworkImage('https://example.com/pic.png'), width: 200, fit: BoxFit.cover, ), ), ), ), ); }

На экране виджет запросит картинку по адресу и растянет её по ширине 200 с обрезкой лишнего по краям.

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

  • виджет FadeInImage,
    который показывает заглушку, пока грузится основная картинка
  • перечисление BoxFit,
    которое задаёт, как вписать картинку в рамку
  • класс AssetImage,
    который описывает картинку из активов для провайдера
  • функция precacheImage,
    которая загружает картинку заранее, до показа на экране
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить