繁体   English   中英

在 Flutter - 如何传递从 url 下载的图像

[英]In Flutter - How to pass the image downloaded from the url

通过 API 我检索了 object 的数据——包括它的 url。 我在一个屏幕上显示带有 url (Image.Network()) 的图像。 现在,单击列表上的此图像后,我想移动到单个图像视图 - 如何将图像而不是 url 传递到新视图,以便应用程序不必从 url 下载它再次?

您可以像这样将图像传递给其他 Class

Navigator.push(
          context, MaterialPageRoute(builder: (context) => OtherClass(data: image)));

并在其他 class接收图像

   var data;

   OtherClass({Key key, @required this.data}) : super(key: key);

我的代码:

onTap: () {
            Navigator.push(context, MaterialPageRoute(builder: (_) {
            return DetailScreen(url: users[index].url);
        }));
    },
[...]
class DetailScreen extends StatelessWidget {
    final String url;

    DetailScreen({Key key, @required this.url})
        : assert(url != null),
            super(key: key);
    @override
    Widget build(BuildContext context) {
        return Scaffold(
            body: GestureDetector(
                child: Center(
                    child: PhotoView(
                        imageProvider: NetworkImage(url),
                    )
                ),
                onTap: () {
                    Navigator.pop(context);
                },
            ),
        );
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM