"Cannot add svg image in NetworkImage in Flutter"

Viewed 6108

I am trying to add NetworkImage inside Container but when I add .svg image I get error but it works for the other formats like .png, .jpeg, etc

Container(
 decoration: BoxDecoration(
  image: DecorationImage(
  image: NetworkImage("https://upload.wikimedia.org/wikipedia/en/e/eb/Manchester_City_FC_badge.svg")
 )
)

Error:

E/flutter (22336): [ERROR:flutter/lib/ui/painting/codec.cc(97)] Failed decoding image. Data is either invalid, or it is encoded using an unsupported format.
3 Answers

another solution using flutter_svg package: info

final String assetName = 'assets/image.svg';
final Widget svg = SvgPicture.asset(
  assetName,
  semanticsLabel: 'Acme Logo'
);

For my case i was consuming an endpoint with Svgs :

ListView.builder(
           shrinkWrap: true,
             scrollDirection: Axis.vertical,
             itemCount: countries.length,
             physics: ScrollPhysics(),
             itemBuilder: (context, index){
               final Widget networkSvg = SvgPicture.network(
                   '${countries[index].flag}',
                   fit: BoxFit.fill,
                   semanticsLabel: 'A shark?!',
                   placeholderBuilder: (BuildContext context) => Container(
                       padding: const EdgeInsets.all(30.0),
                       child: const CircularProgressIndicator(
                         backgroundColor: Colors.redAccent,
                       )),);
               return
                 Column(
                   children: [
                     ListTile(
                       title: Text('${countries[index].name}'),
                       leading: CircleAvatar(
                         backgroundColor: Colors.white,
                         child: networkSvg,
                       ),
                     )
                   ],
                 );
             });
Related