我正在尝试通过按下按钮来加快文本更改的速度。所以我的文本是一个 number.toString()
,每次我点击我创建的 GestureDetector
时,文本都会增加 1 (++)。但我正在尝试使用属性 onLongPress
来提高按住按钮时文本增加的速度。但我尝试过的一切都没有成功!
我在互联网上搜索了信息,我发现的只是如何一个一个地减慢它的速度,这不仅与我需要的相反,而且当我按住按钮,它只会降低每个数字按下按钮的速度。我使用的代码是:
import 'package:flutter/scheduler.dart' show timeDilation;
...
Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
GestureDetector(onTap: () => age >= 100 ? null : setState(() {
age++; }),
child: Icon(Icons.add_circle_outline, size: 40.0, color:
Colors.white,),
onLongPress: () { setState(() {
timeDilation = 10.0;
weight++;
});
},
), //GestureDetector
我预计动画时间会减少,但我没想到每次都必须重复点击按钮才能减少。我真的很想增加动画时间并使其不断增加,而不必不断重复按下按钮。
最佳答案
虽然 GestureDetector
中的 onLongPress
用于较长的点击,但它仍然是为单次按下而设计的,而不是为连续按下而设计的。您正在寻找的内容可以通过 Listener
小部件实现,使用 onPointerDown
,这将允许您连续处理点击。 There's a simple example here .
关于android - 如何提高 flutter 中文本动画的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57278950/