首页 > 解决方案 > 如何在颤动中提高文本动画的速度?

问题描述

我正在尝试通过按下按钮来提高文本更改的速度。所以我的文本是 anumber.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

我预计动画时间会减少,但我没想到每次都必须重复点击按钮以允许这种减少。我真的很想增加动画时间并保持增加,而不必不断重复按下按钮。

标签: androidiosflutterdart

解决方案


尽管onLongPressinGestureDetector用于较长的水龙头,但它仍然是为单次压力机设计的,而不是为连续压力机设计的。您正在寻找的内容可以使用Listener小部件来完成,使用onPointerDown,这将允许您连续处理点击。这里有一个简单的例子


推荐阅读