在Flutter中-如何传递从url下载的图片
In Flutter - How to pass the image downloaded from the url
通过 API 我检索了一个对象的数据 - 包括它的 url。我在一个屏幕上显示一张带有 url (Image.Network()) 的图像。现在,单击列表中的这张图片后,我想移动到单个图片视图 - 如何将图片而不是 url 传递到新视图,这样应用程序就不必下载了它又来自 url?
您可以像这样将图像传递给其他Class
Navigator.push(
context, MaterialPageRoute(builder: (context) => OtherClass(data: image)));
并在 Other class 收到 image like
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);
},
),
);
}
}
通过 API 我检索了一个对象的数据 - 包括它的 url。我在一个屏幕上显示一张带有 url (Image.Network()) 的图像。现在,单击列表中的这张图片后,我想移动到单个图片视图 - 如何将图片而不是 url 传递到新视图,这样应用程序就不必下载了它又来自 url?
您可以像这样将图像传递给其他Class
Navigator.push(
context, MaterialPageRoute(builder: (context) => OtherClass(data: image)));
并在 Other class 收到 image like
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);
},
),
);
}
}