按钮图片
我定义了一个RoundIconButton来增加用户点击按钮时的计数。如果用户需要将计数增加50,则他们必须点击50次。
如何更改按钮以在用户点击并按住时连续增加计数?
int age = 20;
RoundIconButton(
icon: FontAwesomeIcons.plus,
onPressed: () {
setState(() {
age++;
});
class RoundIconButton extends StatelessWidget {
RoundIconButton({@required this.icon, @required this.onPressed});
final IconData icon;
final Function onPressed;
@override
Widget build(BuildContext context) {
return RawMaterialButton(
child: Icon(icon),
onPressed: onPressed,
elevation:
6.0, // will show only when onpress is defined. it is disabled by default.
shape: CircleBorder(),
fillColor: Color(0xFF4C4F5E),
constraints: BoxConstraints.tightFor(
width: 56.0,
height: 56.0,
),
);
}
}
2条答案
按热度按时间r8xiu3jd1#
为了实现您正在寻找的功能,您需要使用
dart:async
包中的Timer
与GestureDetector
的组合。下面是一个完整的样本,它看起来像什么样的基础上提供的样本图像。vsdwdz232#
holding_gesture包允许您实现“onHold”手势:
在上面的代码中,当图标被按下时,
onHold
回调将每隔10ms被调用一次。