【问题标题】:How to make a InkWell/GestureDetector clickable when they are overflowing parent?当 InkWell/GestureDetector 溢出父级时,如何使它们可点击?
【发布时间】:2020-01-11 02:41:56
【问题描述】:

我在一个固定大小的容器内有一个堆栈。 Stack 已经定位了带有 InkWell 子元素的子元素。如果我将一个孩子推到左边,例如左:-15,InkWell 在 Container 外仍然可见,但在 Container 外不再可点击。

这里是简化版的代码:

Container(
  width: 300,
  height: 100,
  child: Stack(
    overflow: Overflow.visible,
    children: <Widget>[
      Positioned(
        top: 0,
        bottom: 0,
        left: -15,
        child: InkWell(
          onTap: () {},
          child: Padding(
            padding: EdgeInsets.all(15.0),
            child: Text("Test"),
          ),
        ),
      ),
    ],
  ),
);

我正在尝试使 InkWell 的溢出部分(左侧 15 像素)也可点击。现在我只能点击容器内的所有内容。

我这样做的原因是为了让按钮更容易点击,同时不将可见文本移动到其他位置。

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    遗憾的是:

    堆栈溢出区域中的小部件不会对手势做出反应是有意的,这不太可能改变。我建议有这个(或类似)问题的人重构他们的应用程序,以将所有可交互的元素保持在堆栈的范围内。

    来源:https://github.com/flutter/flutter/issues/19445

    简而言之,不要使用溢出。重构您的布局以确保它很好地包含在其父级的范围内。

    【讨论】:

      猜你喜欢
      • 2019-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-21
      • 2023-01-10
      • 2012-04-02
      相关资源
      最近更新 更多