相关疑难解决方法(0)

Flutter - 防止点击/点击事件通过视图层次结构传递

我正在寻找阻止点击/点击事件在视图层次结构中传播的最佳方法。假设我们有一个简单的场景,其中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 …

onclick hierarchy onclicklistener flutter flutter-layout

6
推荐指数
1
解决办法
2232
查看次数