在 Flutter 中,可以使用 StatefulWidget 来创建可变的 widget,并在 StatefulWidget 的 State 类中实现 build 方法来进行虚拟绘制。

例如,假设我们有一个自定义的 StatefulWidget 类 MyWidget,我们可以在其 State 类中定义一个变量来控制 widget 的显示状态,并在 build 方法中根据变量的值来绘制不同的 UI。

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

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

  void _toggleText() {
    setState(() {
      _showText = !_showText;
    });
  }

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: _toggleText,
      child: Container(
        color: Colors.white,
        child: _showText ? Text('Hello World!') : SizedBox(),
      ),
    );
  }
}

在上面的例子中,我们定义了一个布尔型变量 _showText 来控制 widget 的显示状态,并在 build 方法中根据 _showText 的值来绘制不同的 UI。当用户点击 widget 时,我们调用 _toggleText 方法来切换 _showText 的值,并使用 setState 方法来通知 Flutter 框架重新绘制 widget。

需要注意的是,由于 Flutter 的虚拟绘制机制,每次 widget 的状态发生变化时,Flutter 框架会自动调用 build 方法来重新绘制 widget。因此,我们只需要在 build 方法中根据变量的值来绘制不同的 UI 即可。


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

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