组件事件的监听器,可接受按下、松开、移动、取消等事件。较GestureDetector比较原始,可获取的信息也更多。

相关组件

GestureDetector

Listener基本事件

【child】 : 子组件 【Widget】
【onPointerDown】 : 按下事件 【Function(PointerDownEvent)】
【onPointerMove】 : 移动事件 【Function(PointerMoveEvent)】
【onPointerMove】 : 抬起事件 【Function(PointerUpEvent)】
【onPointerCancel】 : 取消事件 【Function(PointerUpEvent)】
51.gif

  1. import 'package:flutter/material.dart';
  2. class CustomListener extends StatefulWidget {
  3. @override
  4. _CustomListenerState createState() => _CustomListenerState();
  5. }
  6. class _CustomListenerState extends State<CustomListener> {
  7. var _info = '';
  8. @override
  9. Widget build(BuildContext context) {
  10. return Listener(
  11. onPointerDown: (detail) => setState(() => _info = detail.toString()),
  12. onPointerMove: (detail) => setState(() => _info = detail.toString()),
  13. onPointerUp: (detail) => setState(() => _info = detail.toString()),
  14. onPointerCancel: (detail) => setState(() => _info = detail.toString()),
  15. child: Container(
  16. alignment: Alignment.center,
  17. width: 300,
  18. height: 300 * 0.618,
  19. color: Colors.grey.withAlpha(33),
  20. child: Text(
  21. _info,
  22. style: TextStyle(fontSize: 16, color: Colors.blue),
  23. ),
  24. ),
  25. );
  26. }
  27. }