gpt4 book ai didi

flutter - Flutter:从文本小部件获取单个单词

转载 作者:行者123 更新时间:2023-12-03 03:05:37 28 4
gpt4 key购买 nike

我正在尝试使用Flutter开发一个向用户显示单个单词翻译的应用程序。因此,如果用户想要翻译一个单词,那么他应该双击该单词,然后显示他/她的翻译。

在这里,我只是不想获取String小部件的Text值,但我也想获取用户双击的单词。那么有什么办法可以做到这一点?

最佳答案

您可以使用RichText做到这一点。在我的示例中,如果您双击任何突出显示的单词,它将被打印出来。

1

Widget build(BuildContext context) {
final testString = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.';
final textSpans = <TextSpan>[];

testString.splitMapJoin(
RegExp('\\w+'),
onMatch: (m) {
final matchStr = m.group(0);

textSpans.add(TextSpan(
recognizer: DoubleTapGestureRecognizer()..onDoubleTap = () => print(matchStr),
text: matchStr,
style: TextStyle(background: Paint()..color = Colors.blue.withOpacity(0.4))
));
return matchStr;
},
onNonMatch: (string) {
textSpans.add(TextSpan(
text: string,
));
return string;
},
);

return RichText(
text: TextSpan(
style: TextStyle(fontSize: 30),
children: textSpans,
),
);
}

关于flutter - Flutter:从文本小部件获取单个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54265771/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com