Flutter GestureRecognizer示例

class GestureRecognizerWidget extends StatefulWidget {

  const GestureRecognizerWidget({Key? key, required this.title})
      : super(key: key);

  final String title;

  @override
  State<GestureRecognizerWidget> createState() {
    return GestureRecognizerState();
  }
}

class GestureRecognizerState extends State<GestureRecognizerWidget> {
  final TapGestureRecognizer _tapGestureRecognizer = TapGestureRecognizer();
  bool _toggle = false;

  @override
  void dispose() {
    _tapGestureRecognizer.dispose();
    super.dispose();
  } //变色开关

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text(widget.title)),
      body: Center(
        child: Text.rich(
            TextSpan(
                children: [
                  const TextSpan(text: "你好Flutter"),
                  TextSpan(
                      text: "点击变色",
                      style: TextStyle(
                        fontSize: 30,
                        color: _toggle ? Colors.blue : Colors.red,
                      ),
                      recognizer: _tapGestureRecognizer
                        ..onTap = () {
                          setState(() {
                            _toggle = !_toggle;
                          });
                        }
                  ),
                  const TextSpan(text: "你好Dart")
                ]
            )
        ),
      ),
    );
  }
}

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xiaopihair123/article/details/124959321