我正在寻找阻止点击/点击事件在视图层次结构中传播的最佳方法。假设我们有一个简单的场景,其中TextField装饰有一个“X”明文按钮。
当我单击“X”按钮时,单击事件会传播到 TextField 的 onPressed()。
final _textEditingController = TextEditingController(text: "");
@override
Widget build(BuildContext context) {
return TextFormField(
controller: _textEditingController,
onTap: onEditTextTapped,
decoration: InputDecoration(
suffixIcon: IconButton(
onPressed: onClearTextClick,
icon: Icon(
Icons.clear,
size: 20.0,
),
),
),
style: TextStyle(fontWeight: FontWeight.normal, fontSize: 18),
);
}
void onEditTextTapped() {
print('TextField tapped');
}
void onClearTextClick() {
print('clear text clicked');
}
Run Code Online (Sandbox Code Playgroud)
结果是:
flutter: clear text clicked
flutter: TextField tapped
Run Code Online (Sandbox Code Playgroud)
我需要类似于 Androidandroid:clickable="true"
或 Flutter 的东西AbsorbPointer …