如何实现可点击的文本小部件 Flutter?

Posted

技术标签:

【中文标题】如何实现可点击的文本小部件 Flutter?【英文标题】:How can I implement tap-able Text widget, Flutter? 【发布时间】:2021-06-09 07:59:35 【问题描述】:

我有一个文本小部件,按下它必须显示另一条路线。但是我看不到 Text 小部件的任何 onPressed() 方法。请帮忙。

【问题讨论】:

【参考方案1】:

尝试使用 TextButton 小部件:

TextButton(
            onPressed: () ,
            child: Text('Simple Button'),
          ),

【讨论】:

【参考方案2】:

在你的情况下,你可以去多条路线。

    使用材质TextButton:

    TextButton(onPressed: () , child: Text('Your child'))

    使用 InkWell 小部件,它使用“按钮”属性、飞溅等覆盖您的小部件,从而允许您拥有更多可自定义的按钮点击:

    InkWell(onTap: () , onDoubleTap: () , onLongPress: () , onHover: () , ..etc , child: Text('Your child widget'))

    使用 GestureDetector,是您可以提供的任何手势的最可定制的解决方案(从它的名称来看),可以处理点击、长按、双击、拖动等。 语法类似:

    GestureDetector(onTap: () , child: Text('Your child widget'))

【讨论】:

【参考方案3】:

使任何小部件可点击的最佳方法是使用GestrureDetector,您只需将其放在您想要的小部件/小部件之外,您就可以使用dozen of properties。 例如

GestureDetector(child:

 onPressed: () ,

 Text('Your text')

)

【讨论】:

以上是关于如何实现可点击的文本小部件 Flutter?的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 文本小部件

键盘打开时如何固定小部件布局?

使颤动的网络图像小部件可点击

Flutter 如何将小部件扩展为具有更多内容的更大小部件?

如何在文本中包含一个小部件?

颤振:如何更新文本小部件值