Как сделать провайдер изображений из флаттера Icon для виджета FadeInImage? - PullRequest
0 голосов
/ 06 июня 2018

Я хочу использовать FadeInImage со значком в качестве заполнителя.

FadeInImage имеет несколько конструкторов.

В конструкторе по умолчанию он принимает ImageProvider в качестве заполнителя, ив FadeInImage.MemoryNetwork( он принимает Uint8List в качестве заполнителя памяти.

Третий конструктор создает AssetImage, но я сомневаюсь, что это полезно здесь.

Есть ли способ преобразовать Icon в одиниз этих типов данных?

Пример подписи:

FadeInImage(placeholder: iconPlaceholder, image: NetworkImage("url"))

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Существует также пакет, который может принимать виджет в качестве заполнителя

https://pub.dartlang.org/packages/cached_network_image

  ClipOval(
    child: CachedNetworkImage(
  placeholder: new Container(
    height: height,
    width: height,
    child: Icon(Icons.accessibility),
    color: kGrey400,
  ),
  imageUrl: photoUrl,
  height: height,
  fit: BoxFit.cover,
));
0 голосов
/ 06 июня 2018

Иконки - это на самом деле просто текст из шрифта, поэтому сложно превратить его в изображение.Трюк в поваренной книге должен работать.Используйте стек со значком позади и прозрачным заполнителем.

    body: new Stack(
      children: <Widget>[
        new Center(child: new Icon(Icons.something)),
        new Center(
          child: new FadeInImage.memoryNetwork(
            placeholder: kTransparentImage,
            image:
                'https://github.com/flutter/website/blob/master/_includes/code/layout/lakes/images/lake.jpg?raw=true',
          ),
        ),
      ],
    ),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...