build method
Describes the part of the user interface represented by this widget.
Implementation
@override
Widget build(BuildContext context) {
widget._state = this;
return Focus(
focusNode: focusNode,
onKeyEvent: (event) {
if (event.type == KeyType.character &&
(event.key == ' ' || event.key == '\r' || event.key == '\n')) {
triggerEffect(
_ripple,
Point((widget.width ?? 10) ~/ 2, (widget.height ?? 3) ~/ 2),
);
Timer.periodic(TuiAnimationConfig.vsyncInterval, (timer) {
if (!mounted) {
timer.cancel();
return;
}
if (_ripple.status == AnimationStatus.completed) {
reverseEffect(_ripple);
widget.onPressed();
timer.cancel();
}
});
return true;
}
return false;
},
onFocusChange: (focused) {
if (mounted) setState(() {});
widget.onFocusChange?.call(focused);
},
child: _InkwellButtonRenderWidget(this),
);
}