我有一个带有文本的按钮,当我按下按钮时,具有相同文本的文本小部件将添加到同一页面。 我想在它们之间添加Hero之类的动画。 我想我需要的是SlideTransition,但是我不知道如何从一个小部件位置滑动到另一个小部件位置。 有可能吗?我应该研究什么小部件(或类)?
这是我要执行的代码(但由于Hero无法在同一页面的小部件上使用而无法使用):
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyHomePage(),);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
List<String> text = [];
String buttonTag = "0";
@override
Widget build(BuildContext context) {
List<Widget> textWidgets = [];
for (int i = 0; i < text.length; ++i) {
textWidgets.add(
Padding(
padding: const EdgeInsets.all(8.0),child: Hero(tag: "${i}",child: Text(text[i])),)
);
}
return SafeArea(
child: Scaffold(
body: Center(
child: Column(
children: <Widget>[
RaisedButton(
child: Hero(
tag: buttonTag,child: Text("abcde${text.length}")),onpressed: () {
setState(() {
text.add("abcde${text.length}");
buttonTag = "${text.length}";
});
},)
] + textWidgets,),);
}
}