【问题标题】:Getting the dimensions of a sibling widget in flutter在颤动中获取兄弟小部件的尺寸
【发布时间】:2020-03-24 02:24:10
【问题描述】:

我正在尝试向屏幕添加两个小部件,如下图所示:

“Widget A”是一个未知大小的容器,因为它会根据其中的文本数量而变化。 “小部件 B”应始终与“小部件 A”重叠并部分放置在其下方,并且仅位于小部件 A 宽度的 75%。

我知道我很可能需要一个 Stack 才能将小部件相互叠加。

我之前使用布局构建器来获取父级的约束,但在这种情况下,“Widget A”和“Widget B”都是堆栈的兄弟姐妹,所以我不确定如何获取它的大小。

【问题讨论】:

  • 发送您的代码..

标签: flutter flutter-layout


【解决方案1】:

好的,在摸索了一会儿之后,在发布后我想出了如何去做。 所以“小部件 A”在一列中,底部有一些空间,小部件 B 位于底部的堆栈中

Stack(
  fit: StackFit.expand,
  alignment: Alignment.bottomCenter,
  children: <Widget>[
    //widget a
    LayoutBuilder(builder: (BuildContext context, BoxConstraints constraints) {
      return Column(
        children: <Widget>[
          Container(
            height: constraints.maxHeight-10,
            child: widget.child,
            color: Colors.indigo,
          ),
          SizedBox(height: 10,),
        ],

      );
    }),
    //widget b
    LayoutBuilder(builder: (BuildContext context, BoxConstraints constraints) {
      return Container(
        height: constraints.maxHeight,
        width: constraints.maxWidth * 0.75,
        color: Colors.greenAccent,
      );
    }),
  ],
);

【讨论】:

  • 使用扩展小部件
  • @MuratAslan 不确定小部件需要重叠有什么帮助
  • 用扩展包装你的布局构建器然后查看结果
猜你喜欢
  • 2019-06-01
  • 2020-11-12
  • 2021-04-22
  • 2020-04-29
  • 2021-08-11
  • 1970-01-01
  • 2021-01-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多