【发布时间】:2019-03-29 18:41:31
【问题描述】:
我正在尝试制作一个带有 ListTiles 的模态底部表,其中包含 Checkbox 作为前导小部件。但是,Checkbox 将接收点击事件而不是 ListTile,现在显示磁贴的墨水波纹效果并让我实现两个 onTap/onChanged 回调。
我尝试不实现Checkbox 的onChanged 回调并将其包裹在AbsorbPointer 小部件周围,但是在这两种情况下ListTile 也不会获得点击事件。
return ListTile(
onTap: onTap,
title: Text("Show expired schedules"),
leading: Checkbox(value: snapshot.data, onChanged: (_) => onTap()),
);
我想以某种方式使Checkbox 不可点击,但让ListTile 仍然接收点击事件。有点像AbsorbPointer,除了跳过一个小部件,不完全吸收点击事件。
【问题讨论】:
-
我仍然很想听到正确的答案,但如果您处于紧要关头,您可以随时删除复选框并使用图标并更改代码中的图标。选中未选中。 ?
-
@Zuriel
Checkbox有一个动画,当值改变时,它比两个单独的图标更容易实现 -
为什么不直接删除
onChange? -
我猜是因为删除 onChange 方法将使用主题中的 disabledColor 作为复选框。
-
@Rémi Rousselet @diegoveloper 是的,它将使用 disabledColor 并且仍然吸收触摸事件,而不是将其传递给
ListTile
标签: flutter