onPressed 图像 我想将该图像放置在其他页面的容器中颤动,我怎样才能做到这一点?

问题描述

我有一个电子商务网站的主页,我在点击每个产品(图像)时以图像格式显示每个产品我希望在下一个屏幕中填充该图像,该屏幕是产品的信息屏幕,该屏幕也包含产品(图像)和其他一些相关的东西。我只想构建一次信息页面,并根据单击的图像(产品)相应地更改产品图像和其他内容。我怎么能做到这一点我是新手,不知道这个逻辑我遇到了 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 属性应该保持相同。

Refer the link for more details

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...