图像的 onPressed 我想将该图像放在其他页面的容器中,我该如何实现?
onPressed of an Image I want to place that image in other page's container in flutter, How can I achieve this?
我有一个电子商务网站的主页,我在点击每个产品(图像)时以图像格式显示每个产品我希望在下一个屏幕中填充该图像,该屏幕是产品的信息屏幕还包含产品(图像)和其他一些相关内容。我只想一次构建信息页面,然后根据单击的图像(产品)相应地更改产品图像和其他内容。我怎么能做到这一点我是新手,不知道这个逻辑我遇到了 valuelistenablebuilder 但不知道我怎么能做到这一点,请帮忙。
谢谢,
默认情况下,Flutter 使用 Hero
小部件提供此支持。找到下面的代码片段。
import 'package:flutter/material.dart';
void main() => runApp(HeroApp());
class HeroApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Transition Demo',
home: MainScreen(),
);
}
}
class MainScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Main Screen'),
),
body: GestureDetector(
child: Hero(
tag: 'imageHero',
child: Image.network(
'https://picsum.photos/250?image=9',
),
),
onTap: () {
Navigator.push(context, MaterialPageRoute(builder: (_) {
return DetailScreen();
}));
},
),
);
}
}
class DetailScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: GestureDetector(
child: Center(
child: Hero(
tag: 'imageHero',
child: Image.network(
'https://picsum.photos/250?image=9',
),
),
),
onTap: () {
Navigator.pop(context);
},
),
);
}
}
确保两个页面的 Hero.tag
属性 保持相同。
我有一个电子商务网站的主页,我在点击每个产品(图像)时以图像格式显示每个产品我希望在下一个屏幕中填充该图像,该屏幕是产品的信息屏幕还包含产品(图像)和其他一些相关内容。我只想一次构建信息页面,然后根据单击的图像(产品)相应地更改产品图像和其他内容。我怎么能做到这一点我是新手,不知道这个逻辑我遇到了 valuelistenablebuilder 但不知道我怎么能做到这一点,请帮忙。 谢谢,
默认情况下,Flutter 使用 Hero
小部件提供此支持。找到下面的代码片段。
import 'package:flutter/material.dart';
void main() => runApp(HeroApp());
class HeroApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Transition Demo',
home: MainScreen(),
);
}
}
class MainScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Main Screen'),
),
body: GestureDetector(
child: Hero(
tag: 'imageHero',
child: Image.network(
'https://picsum.photos/250?image=9',
),
),
onTap: () {
Navigator.push(context, MaterialPageRoute(builder: (_) {
return DetailScreen();
}));
},
),
);
}
}
class DetailScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: GestureDetector(
child: Center(
child: Hero(
tag: 'imageHero',
child: Image.network(
'https://picsum.photos/250?image=9',
),
),
),
onTap: () {
Navigator.pop(context);
},
),
);
}
}
确保两个页面的 Hero.tag
属性 保持相同。