Метод asset
Метод asset виджета
Image строит
Image
с провайдером AssetImage.
Путь к файлу передают в name, как в pubspec.yaml.
Набор активов по умолчанию берётся из
rootBundle.
Синтаксис
Image.asset(
'assets/pic.png',
width: 100,
height: 100,
fit: BoxFit.cover,
)
Параметры
| Параметр | Описание |
|---|---|
name |
Путь к файлу в активах, например assets/pic.png.
Обязательный аргумент.
|
bundle |
Откуда читать файл. По умолчанию
rootBundle.
|
package |
Имя пакета, если картинка лежит в зависимости, а не в приложении. |
width |
Ширина в логических пикселях. |
height |
Высота в логических пикселях. |
fit |
Вписывание картинки. Принимает
BoxFit.
|
Пример
Давайте покажем локальный файл по центру экрана:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Image.asset(
'assets/pic.png',
width: 140,
height: 140,
),
),
),
),
);
}
На экране появится картинка из assets/pic.png
в квадрате 140 пикселей.
Пример
Давайте обрежем картинку по рамке с BoxFit.cover:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: ClipRRect(
borderRadius: BorderRadius.circular(12),
child: Image.asset(
'assets/pic.png',
width: 160,
height: 90,
fit: BoxFit.cover,
),
),
),
),
),
);
}
На экране картинка заполнит прямоугольник с закруглёнными углами, лишнее по краям будет обрезано.
Смотрите также
-
класс
AssetImage,
который описывает провайдер для файла из активов -
класс
AssetBundle,
который читает байты и строки из активов -
метод
network,
который загружает картинку по адресу -
виджет
DefaultAssetBundle,
который подменяет набор активов для дочерних виджетов