我试图让我的 UI 显示两个按钮,其中一个稍微重叠,位于全宽卡片的中间。因为 Stack 只会与其未定位的子代一样宽,所以我添加了一个 SizedBox 的未定位子代,宽度为 double.INFINITY 给我一个画布来放置按钮,但我不知道该放什么作为 SizedBox 的高度。理想情况下,无论用户是在手机还是平板电脑上,我都希望这个小部件能够适当地调整自己的大小,所以我宁愿将 SizedBox 高度基于按钮的当前大小,而不是仅仅硬编码一个数字。
有没有办法找到给定现有小部件的大小?如果不是,那么确定需要在多个屏幕尺寸上看起来不错的对象的高度的方法是什么?
示例代码:
new Card(
child: new Stack(
children: <Widget>[
new SizedBox(
width: double.INFINITY,
),
new Positioned(
left: 1.0,
child: getButtonOne(),
),
new Positioned(
right: 1.0,
child: getButtonTwo(),
),
],
),
),