我已经创建了一个扩展CustomPaint并覆盖Paint()方法的类.由于某些原因没有显示出来,我try 了很多方法,

此外,当我运行我的应用程序时,自定义绘画不会显示.我做错了什么?

推荐答案

自定义绘画小部件不能在Flight中显示的最常见原因是因为它们没有被添加到小部件树中.要将自定义绘画小部件添加到小部件树中,需要使用CustomPaint.add()方法.例如:

class MyCustomPaint extends CustomPaint {
  @override
  void paint(Canvas canvas, Size size) {
    // Paint your custom painting here.
  }
}

void main() {
  runApp(MaterialApp(
    home: Scaffold(
      body: CustomPaint.add(
        child: Container(),
        painter: MyCustomPaint(),
      ),
    ),
  ));
}

在本例中,MyCustomPaint小部件作为Container小部件的子项被添加到小部件树中.这将确保在应用程序运行时显示自定义绘画.

我也建议读一下这篇博客a-deep-dive-into-custompaint篇,

Flutter相关问答推荐

无法在Flatter中设计正确的布局

如何使一个悬浮的appbar在flutter?

无法在主屏幕视图中设置当前日期容器'

如何在Firebase项目中更改包名称和包ID

如何从DART中的事件列表中获取即将到来的日期

在Flutter 中更改扩展瓷砖的高度

从.gitignore中排除.fvm/fvm_config.json

Flutter :URI的目标不存在

FOR回路中的Flutter 模型

如何将请求字段正确添加到DART多部分请求

当我转到其他屏幕并按下后退按钮时,屏幕将不会刷新

Select 文本时如何更改 Flutter 中的光标 colored颜色 ?

我无法找到修复此错误的位置,指出无法使用静态访问来访问实例成员

提供者、存储库和服务之间有什么区别?

Agora VideoCall 不显示远程视频网格

如何在 flutter 中使用 tabbar 作为底部导航栏?

如何使用 Rrect 或类似工具在 flutter 中绘制梯形线?

Flutter :RangeError(索引):无效值:不在包含范围内0..3:4使用IndexedListView.builder

一个或多个插件需要更高的 Android SDK 版本

在自动完成中 Select 值后保持键盘焦点