Flutter中的GestureDetector不能直接监听界面是否rebuild,但是它可以通过onTap回调来实现类似的功能。当用户点击widget时,onTap回调就会被触发。你可以在回调函数里更新状态,这样就能触发界面重新渲染。

例如,以下代码展示了一个简单的GestureDetector部件,当用户点击该部件时,它会更新一个状态变量,从而触发界面重新渲染:

class MyWidget extends StatefulWidget {
  @override
  _MyWidgetState createState() => _MyWidgetState();
}

class _MyWidgetState extends State<MyWidget> {
  bool _isTapped = false;

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: () {
        setState(() {
          _isTapped = true;
        });
      },
      child: Container(
        width: 100,
        height: 100,
        color: _isTapped ? Colors.blue : Colors.red,
      ),
    );
  }
}

在这个例子中,当用户点击Container时,GestureDetector的onTap回调会被触发,更新_isTapped变量的值。在build方法里,我们使用这个变量来决定Container的颜色。如果_isTapped为true,Container的颜色是蓝色;否则,它是红色。这样,当用户点击Container时,界面就会重新渲染,改变Container的颜色。

flutter使用GestureDetector监听界面是否rebuild

原文地址: http://www.cveoy.top/t/topic/bd73 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录