我有一个带有回调TextField
的内部。问题是,尽管事实上,即使长按,我也会看到 上的连锁反应,但在长按时间过去后, 不会运行。它只会让我编辑文本。当按下 的底部时,一切运行正常。InkWell
onLongPress()
TextField
InkWell
onLongPress()
Card
简而言之:点击后我想开始TextField
编辑。长按时,我想触发onLongPress()
,而不是TextField
,即使我按下它。
我该怎么做呢?谢谢。
InkWell(
onLongPress: () {
// do stuff
}
child: ListTile(
title: TextField(),
),
),
Run Code Online (Sandbox Code Playgroud)
您可以使用AbsorbPointer小部件来忽略TextField
手势识别器:
InkWell(
onLongPress: () {
print('onLongPress');
},
child: AbsorbPointer(
child: ListTile(
title: TextField(),
),
),
)
Run Code Online (Sandbox Code Playgroud)
TextField
要在单击时仍然启用编辑,您可以使用FocusNode
如下所示:
InkWell(
onLongPress: () {
print('onLongPress');
},
onTap: () => node.requestFocus(),
child: AbsorbPointer(
child: ListTile(
title: TextField(
focusNode: node,
controller: textController,
),
),
),
)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1977 次 |
最近记录: |