首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忽略文本的onTap()事件,而是接受父行的onTap()事件

忽略文本的onTap()事件,而是接受父行的onTap()事件
EN

Stack Overflow用户
提问于 2020-03-06 10:54:14
回答 2查看 479关注 0票数 2

我有一个Row小部件。该行有一个Text作为子行(在本例中,它是一个SelectableText)。该行嵌入到InkWell小部件中,用于处理onTap()事件。这很好,除非我点击Text。在这种情况下,InkWell onTap()事件不会引发。

代码语言:javascript
复制
InkWell(
  child: Row (
    children: <Widget> [
      SelectableText(...)
    ]
  ),
  onTap: () => doSth();
)

是否可以忽略TextonTap()事件?我的解决方法是使用相同的代码将一个onTap()事件添加到Text中。但是,事实上,我想避免这种复制。

编辑:,实际上,Text小部件旁边还有一个Button小部件。不过,它的onPressed()事件应该可以像预期的那样工作。

代码语言:javascript
复制
InkWell(
  child: Row (
    children: <Widget> [
      SelectableText(...),
      Button(
        onPressed: () {...}
      )
    ]
  ),
  onTap: () => doSth();
)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-06 12:12:28

使用IgnorePointer

代码语言:javascript
复制
InkWell(
  child: Row (
    children: <Widget> [
      IgnorePointer(
        child: SelectableText(...)
     )
    ]
  ),
  onTap: () => doSth();
)
票数 1
EN

Stack Overflow用户

发布于 2020-03-06 11:29:37

试试这个:

代码语言:javascript
复制
GestureDetector(
 // behavior: HitTestBehavior.opaque,
  onTap: () => doSth();
  child: Row(
    children: <Widget>[
      SelectableText(...),
    ],
  ),
),
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60562597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档