gpt4 book ai didi

flutter - Flutter中更多用于TextSpan的GestureRecognisers

转载 作者:行者123 更新时间:2023-12-03 03:40:09 29 4
gpt4 key购买 nike

我在Flutter上构建了一个应用程序,但是我遇到了带有许多TextSpan小部件的RichText小部件,并且我需要有两个手势识别器,一个是双击的,另一个是长按的,所以如果出现这种情况,我该怎么办?有可能的?

最佳答案

每个textSpan都有其自己的textchildren属性,您可以使用它们的recognizer属性并根据需要实现不同的抽头。
考虑以下示例:

Container(
color: Colors.black,
padding: EdgeInsets.all(10),
child: Center(
child: RichText(
text: TextSpan( // <-- 1
text: 'This is a text from first textspan. ',
style: TextStyle(
color: Colors.grey,
fontSize: 20,
fontWeight: FontWeight.bold),
children: <TextSpan>[ // <-- 2
TextSpan(
text: ' This is a text from second textspan ',
style: TextStyle(
fontSize: 20,
fontWeight: FontWeight.bold),
recognizer: LongPressGestureRecognizer()
..onLongPress = () {
print('Long pressed');
},
children: <
TextSpan>[ // <-- 3 (children of 2 textspan
TextSpan(
text: ' This is a another text from second textspan',
recognizer: DoubleTapGestureRecognizer()
..onDoubleTap = () {
print('double tapped');
}
)
]
),
]
),
)
)
)

注释为 children: <TextSpan>[]2具有 text属性和我使用 recognizer的相应 LongPressGestureRecognizer()。相同的 textSpan( 2)具有 children属性,该属性再次可以具有带有文本的子文本范围以及我使用 recognizer的相应 DoubleTapGestureRecognizer()

因此输出将是:您可以长按 This is a text from second textspan,也可以双击 This is another text from second textspan

希望这能回答您的问题。

关于flutter - Flutter中更多用于TextSpan的GestureRecognisers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57236673/

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