[英]In Flutter - How to pass the image downloaded from the url
Through the API I retrieve data of an object - including its url.通过 API 我检索了 object 的数据——包括它的 url。 I show on one screen an image with url (Image.Network()).
我在一个屏幕上显示带有 url (Image.Network()) 的图像。 Now, after clicking on this image on the list, I want to move to a single image view - how do I pass the image, not the url, to a new view so that the application doesn't have to download it from the url again?
现在,单击列表上的此图像后,我想移动到单个图像视图 - 如何将图像而不是 url 传递到新视图,以便应用程序不必从 url 下载它再次?
you can pass the image to Other Class like this您可以像这样将图像传递给其他 Class
Navigator.push(
context, MaterialPageRoute(builder: (context) => OtherClass(data: image)));
and in Other class receive the image like并在其他 class接收图像
var data;
OtherClass({Key key, @required this.data}) : super(key: key);
My code:我的代码:
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.