标签: hero

FutureBuilder 中的 Flutter Hero

当目标英雄位于 FutureBuilder 中时,我正在绞尽脑汁寻找一种简单的方法来使英雄动画正常工作。我知道这是行不通的,因为英雄图像必须出现在第二个屏幕的第一帧上,而通过 FutureBuilder 从 Firestore 获取数据时显然不能出现这种情况。

这是我的代码:

第一个屏幕:

 Hero(
    tag: "postImage",
    child: Image.network(post.imageurl),
  ),
Run Code Online (Sandbox Code Playgroud)

第二个屏幕:

FutureBuilder(
      future: _futurePost,
      builder: (context, AsyncSnapshot snapshot) {
      [...]
      return  Hero(
        tag: "postImage",
        child: Image.network(snapshot.data.imageurl),
      );
    }
  )
Run Code Online (Sandbox Code Playgroud)

如何实现这一目标?我很惊讶这不是一个常见问题!

谢谢你!

flutter flutter-futurebuilder hero

5
推荐指数
0
解决办法
507
查看次数

Flutter Hero 多个元素反转动画从中心开始

我正在尝试创建一个具有多个元素的英雄动画,到目前为止我的代码如下:

主要.dart:

import 'package:animations/animations.dart';
import 'package:flutter/material.dart';
import 'package:flutter_playground/screen_two.dart';
import 'package:flutter_playground/transition/hero_dialog_route.dart';
import 'package:flutter_playground/transition/hero_page_route.dart';
import 'package:flutter_playground/transition_open_container_wrapper.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        // This is the theme of your application.
        //
        // Try running your application with "flutter run". You'll see the
        // application has a blue toolbar. Then, without quitting the app, try …
Run Code Online (Sandbox Code Playgroud)

flutter hero

3
推荐指数
1
解决办法
571
查看次数

标签 统计

flutter ×2

hero ×2

flutter-futurebuilder ×1