Класс AssetImage
Класс AssetImage принимает путь assetName,
необязательный bundle типа
AssetBundle
и имя package для ресурсов зависимости.
Параметры cacheWidth и cacheHeight
задают размер декодирования для экономии памяти.
Синтаксис
AssetImage(
'assets/pic.png',
bundle: rootBundle,
cacheWidth: 200,
)
Параметры
| Параметр | Описание |
|---|---|
assetName |
Путь картинки в каталоге assets. |
bundle |
Откуда читать файл. По умолчанию корневой набор ресурсов. |
package |
Имя пакета, если картинка лежит в зависимости. |
cacheWidth |
Ширина, до которой картинку уменьшают перед записью в кэш. |
cacheHeight |
Высота, до которой картинку уменьшают перед записью в кэш. |
Пример
Давайте покажем картинку через провайдер:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Image(
image: AssetImage('assets/pic.png'),
width: 140,
),
),
),
),
);
}
На экране появится файл assets/pic.png
шириной 140 пикселей.
Пример
Давайте прочитаем ключ актива из объекта:
void main()
{
const provider = AssetImage('assets/pic.png');
print(provider.assetName);
}
Результат выполнения кода
"assets/pic.png"
Смотрите также
-
метод
asset,
который создаёт виджет по пути в активах -
константа
rootBundle,
которая по умолчанию читает активы приложения -
класс
DecorationImage,
который использует провайдер как фон -
метод
load,
который читает байты файла по ключу