flutter - Flutter 中动画值的问题
问题描述
我对数字过渡动画有疑问。
我希望动画始终从生成的最后一个数字继续,但它总是重复所做的第一个值转换
我已经找过有类似问题的人,但我没有找到
class Home extends StatefulWidget {
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> with SingleTickerProviderStateMixin {
Animation numberTransitionAnimation;
AnimationController animationController;
@override
void initState() {
super.initState();
animationController = AnimationController(duration: Duration(seconds: 1), vsync: this);
numberTransitionAnimation = IntTween(begin: currentNumber, end: newNumber).animate(CurvedAnimation(parent: animationController, curve: Curves.linear));
}
int selectedNumber;
int currentNumber = 0;
int newNumber = 0;
int total = 2000;
void selectNumber(selectedNumber){
newNumber = selectedNumber + currentNumber;
currentNumber = newNumber;
animationController.reset();
animationController.forward();
}
@override
Widget build(BuildContext context) {
return AnimatedBuilder(
animation: animationController,
builder: (BuildContext context, Widget child){
return Scaffold(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(numberTransitionAnimation.value.toString() + " / $total"),
// \/ Test to see if the method is working
Text(currentNumber.toString()),
RaisedButton(onPressed: () => selectNumber(100), child: Text('100')),
RaisedButton(onPressed: ()=> selectNumber(200), child: Text('200')),
RaisedButton(onPressed: ()=> selectNumber(300), child: Text('300')),
],
)
),
);
}
);
}
}
我要求您忽略代码的组织,我最终通过更改代码来寻找解决方案而变得混乱
如果有人可以帮助我,我将不胜感激
解决方案
推荐阅读
- ios - 有没有办法在 UICollectionView 上创建一个具有视图的图层
- windows - 无法使用厨师安装软件包
- apache-spark - 如何将 spark mllib word2vec 模型转换为 glove txt 格式?
- javascript - 为什么我的方法没有将结果推送到我的阵列?
- javascript - 如何从 ReactJS 中的 addEventListener 调用函数?
- javascript - 如何将 java LWJGL 游戏转换为 javascript/web 程序集?
- firebase - 为什么 Firepad CodeMirror 示例在我的项目中没有任何颜色编码的语法?
- pandas - 熊猫数据框和应用 - 无法弄清楚为什么结果值为负
- ruby - gem 安装 jekyll 失败
- c# - c#正则表达式与前瞻失败