可以(应该?)Stack 将其大小扩展到其定位的孩子吗?

atr*_*eon 2 flutter

我有一个Stack包含两个Image小部件的小部件,一个图像覆盖另一个。一张图像的顶部设置为 10,因此它在屏幕上的位置高 10 个像素。不幸的是,10.0px 在屏幕底部被截断了。如果我设置一个overflow.visible然后我可以看到它。

我用GestureDetector10.0px 溢出不在堆栈内包装堆栈,GestureDetector因此当用户单击图像底部时,没有任何反应。图像将是不同的大小,所以我不能设置一个明确的高度。

有没有办法将 的大小增加到GestureDector其子项的大小?

return new GestureDetector(
  onTapDown: (x) => print('onTapDown'),
  child: new Stack(
    overflow: Overflow.visible,
    children: [
      new Positioned(
        child: shadowImage,
        top: 10.0,
      ),
      new Positioned(
        child: initialImage,
      ),
    ],
  ),
);
Run Code Online (Sandbox Code Playgroud)

Rém*_*let 7

可以(应该?)Stack 将其大小扩展到其定位的孩子吗?

不可以,但如果你想以下,那么你的孩子应该不会被positionned。 Stack,如果它有一个,将围绕第一个非定位的孩子调整自己的大小。

所以你可以把你shadowImage

children: [
  new Padding(
    padding: const EdgeInsets.only(top: 10.0),
    child: shadowImage
  ),
  new Positioned(
    child: initialImage,
  ),
],
Run Code Online (Sandbox Code Playgroud)