0

考虑Flutter 文档中的以下代码:

CustomPaint(
  painter: Sky(),
  child: const Center(
    child: Text(
      'Once upon a time...',
      style: TextStyle(
        fontSize: 40.0,
        fontWeight: FontWeight.w900,
        color: Color(0xFFFFFFFF),
      ),
    ),
  ),
)

我不想要文本小部件。

我不希望 CustomPaint 小部件被子小部件遮挡。

此外,我希望 CustomPaint 小部件填充可用的任何空间。

我认为解决方案是用像 Expanded 这样的 BLANK 小部件替换 Text 小部件。

但是,我尝试了各种组合的 Expanded、Container、Spacer 和 Space 小部件,但总是得到错误或大小为零。

谢谢!

4

2 回答 2

0

在这里你是如何做到的:

Expanded(
  child: CustomPaint(
    painter: MyCustomPainter(),
    size: Size.infinite,

  ),
),
于 2021-11-17T16:24:01.610 回答
-1

您可以使用 MediaQuery 获取屏幕的高度和宽度并使用它们

final width = MediaQuery.of(context).size.width;
    final height = MediaQuery.of(context).size.height;
    return CustomPaint(
      size: Size(width,height),
      painter: Sky(),
      child: const Center(
        child: Text(
          'Once upon a time...',
          style: TextStyle(
            fontSize: 40.0,
            fontWeight: FontWeight.w900,
            color: Color(0xFFFFFFFF),
          ),
        ),
      ),
    );
于 2021-11-15T20:36:19.077 回答