交互模型部件
响应触摸事件并将用户路由到不同的视图。
触摸交互
#一个在命中测试期间吸收指针的部件。当吸附为真时,此部件通过在其自身终止命中测试来阻止其子树接收指针事件。它在布局期间仍然占用空间并像往常一样绘制其子部件。它只是阻止其子部件成为定位事件的目标,因为它从 RenderBox.hitTest 返回 true。
一个可以通过在指定方向上拖动来关闭的部件。在 DismissDirection 中拖动或轻扫此部件会导致子部件滑出视野。在滑动动画之后,如果 resizeDuration 非空,则 Dismissible 部件会将其高度(或宽度,与关闭方向垂直的任何一个)在 resizeDuration 内动画设置为零。
当 Draggable 部件被放下时接收数据的部件。当可拖动部件被拖动到拖动目标之上时,会询问拖动目标是否会接受可拖动部件正在携带的数据。如果用户确实将可拖动部件拖放到拖动目标之上(并且拖动目标已指示它将接受可拖动部件的数据),则会询问拖动目标是否接受可拖动部件的数据。
一个可以从其拖动到 DragTarget 的部件。当可拖动部件识别拖动手势的开始时,它会显示一个反馈部件,该部件跟踪用户的手指在屏幕上的移动。如果用户在 DragTarget 之上抬起手指,则该目标将有机会接受可拖动部件携带的数据。
一个 Scrollable 的容器,它通过调整可滚动部件的大小(直到达到限制),然后滚动来响应拖动手势。
一个检测手势的部件。尝试识别与其非空回调相对应的手势。如果此部件有子部件,则它会将其大小行为委托给该子部件。如果它没有子部件,则它会增长以适应父部件。
一个在命中测试期间不可见的部件。当 ignoring 为 true 时,此部件(及其子树)对命中测试不可见。它在布局期间仍然占用空间并像往常一样绘制其子部件。它只是不能成为定位事件的目标,因为它从 RenderBox.hitTest 返回 false。
一个启用与其子部件进行平移和缩放交互的部件。
使其子部件从长按开始可拖动。
Scrollable 实现可滚动部件的交互模型,包括手势识别,但对如何构造实际显示子部件的视口没有意见。
路由
#一个将子部件标记为英雄动画候选对象的部件。
一个使用堆栈规则管理一组子部件的部件。许多应用程序在其部件层次结构的顶部附近都有一个导航器,使用 Overlay 来显示其逻辑历史记录,最近访问的页面在视觉上位于较旧的页面之上。使用此模式,导航器可以通过在叠加层中移动部件来视觉上从一个页面过渡到另一个页面。类似地,导航器可以通过将对话框部件定位在当前页面上方来显示对话框。
Find more widgets in the widget catalog.
除非另有说明,否则本网站上的文档反映的是 Flutter 的最新稳定版本。页面最后更新于 2025-01-30。 查看源代码 或 报告问题。