Flutter:在ClipPath()小部件中出现断言失败错误

3

我遇到了这个错误。

Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/path/path_ref.dart:831:12
isValid
is not true

The relevant error-causing widget was
    ClipPath

我使用的依赖是:flutter_custom_clippers: ^1.1.1

每当我重新启动或进行热重载时,UI会正常构建,但几秒钟后我会在调试控制台中收到以下错误。

以下是我的小部件结构。

ClipPath(
      clipper: WaveClipperTwo(flip: true, reverse: true),
      child: Container(
        padding: EdgeInsets.all(10),
        width: double.infinity,
        height: 350,
        color: Colors.black87,
        child: ...
        )
);

我该如何解决这个错误。
1个回答

2

我不知道实际发生了什么,但是我将ClipPath()封装在一个容器中,并将容器的高度设置为与其内部容器相同,即350

Container{
height: 350,
child: ClipPath(
      clipper: WaveClipperTwo(flip: true, reverse: true),
      child: Container(
        padding: EdgeInsets.all(10),
        width: double.infinity,
        height: 350,
        color: Colors.black87,
        child: ...
        )
    ),
);

然后我没有收到任何错误信息。

我仍然不知道那个错误是关于什么的,如果您知道,请随时告诉我 :)


1
谢谢您的解决方案!我在Flutter Web上使用clipBehavior和borderRadius滚动的容器中遇到了类似的错误。除了错误之外,没有其他明显的影响。我将容器改为SizedBox,并在其中嵌套了一个ClipRRect,错误就消失了。神秘。 - Kris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接