трепещите, Тип аргумента ‘FadeInImage’ не может быть присвоен типу параметра ‘ImageProvider?

#flutter #dart

Вопрос:

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

 The argument type 'FadeInImage' can't be assigned to the parameter type 'ImageProvider<Object>?'
 

это мой аватар круга

 child: Obx(() {
                    return CircleAvatar(
                      backgroundColor: Colors.grey,
                      backgroundImage: NetworkImage(
                        controller.urlImagem.value.toString(),
                      ),
                      maxRadius: 100,
                    );
                  }),
 

Я хочу поместить этот код, но эта ошибка появляется у меня вверху

 child: Obx(() {
                    return CircleAvatar(
                      backgroundColor: Colors.grey,
                      
                      backgroundImage: controller.urlImagem.value.isNotEmpty ? FadeInImage.memoryNetwork(placeholder: kTransparentImage, image: controller.urlImagem.value) : null,
                      maxRadius: 100,
                    );
                  }),
                ),
 

Комментарии:

1. В чем ценность kTransparentImage ?

2. это пакет, который дает мне прозрачное изображение pub.dev/packages/transparent_image

Ответ №1:

У меня был тот же вопрос, так как в примере с Флаттером больше ничего об этом не упоминалось. Решение пришло из репозитория GitHub transparent_image, который заключается в том, чтобы завернуть kTransparentImage в MemoryImage :

 MemoryImage(kTransparentImage);
 

Из документации MemoryImage «Создает объект, который декодирует буфер Uint8List как изображение».

Комментарии:

1. Спасибо, мой друг,

2. Вы должны отметить мой ответ как правильный, если это помогло вам, чтобы вопрос был закрыт 🙂