我想使文本的一部分成为可轻敲的,以便可以在其上调用一个函数。我也想控制可点击文本的样式。在最佳情况下,我还可以将可调整区域的大小增加到例如42px。
我已经研究过flutter_linkify和linkify,但这不是我想要的。我很好奇是否已经在flutter库中建立了一个包,甚至已经内置了一个包。
将RichText与TextSpan和GestureRecognizer一起使用。使用GestureRecognizer它可以检测 点击 , 双击 , 长按 等。
GestureRecognizer
Widget build(BuildContext context) { TextStyle defaultStyle = TextStyle(color: Colors.grey, fontSize: 20.0); TextStyle linkStyle = TextStyle(color: Colors.blue); return RichText( text: TextSpan( style: defaultStyle, children: <TextSpan>[ TextSpan(text: 'By clicking Sign Up, you agree to our '), TextSpan( text: 'Terms of Service', style: linkStyle, recognizer: TapGestureRecognizer() ..onTap = () { print('Terms of Service"'); }), TextSpan(text: ' and that you have read our '), TextSpan( text: 'Privacy Policy', style: linkStyle, recognizer: TapGestureRecognizer() ..onTap = () { print('Privacy Policy"'); }), ], ), ); }