widgets library
Element 公共小部件集合
Classes
- AnimatedColoredBox
- 动画颜色盒子
- AnimatedDecoratedBox
- 动画装饰器盒子
- AnimatedIconTheme
- AnimatedOffset
- 动画 Offset 偏移
- AnimatedRefreshProgressIndicator
- 动画刷新指示器
- ElBox
- 盒子小部件
- ElBuilderRenderObjectElement
- ElBuilderRenderObjectWidget
- 扩展 SingleChildRenderObjectWidget 小部件,在此基础上允许构建 builder 访问当前 context 对象
- ElChildSizeBuilder
- ElChildSizeListener
- ElCustomMultiChildLayoutWidget
- ElDebugWidget
- 调试小部件
- ElDragStartListener
- ElFirstPaintCallback
- ElFps
- 显示当前帧率小部件
- ElImplicitlyAnimatedWidget
- Hook 版本的隐式抽象动画小部件,用法比 ImplicitlyAnimatedWidget 更简单一些, 继承此类的小部件需要实现 effects、forEachTween、buildAnimatedWidget 三个抽象方法
-
ElListenableBuilder<
L extends Listenable, D> - ElMultiUniqueElement
- ElMultiUniqueWidget
- 渲染多个节点小部件,每个子节点通过 id 进行区分,默认情况下无法保证子节点的绘制顺序, 尤其是在动态增删子元素的情况下,新增的元素永远会显示在最前面, 而 MultiChildRenderObjectElement 则可以确保 Widget 数组的顺序一致(基于双向链表)。
- ElNestScrollWrapper
- ElPaint
- 是否允许绘制子元素
- ElPointerProxy
- 将事件命中测试转移至 ElPointerProxyHandler 小部件,应用场景:
- ElPointerProxyHandler
- 在小部件树中较高层级创建一个代理事件小部件,它会代理后代 ElPointerProxy 的命中测试, 解决 hitTestSelf 被剔除的事件命中问题:https://github.com/flutter/flutter/issues/75747
-
ElPopScope<
T> - 原生 PopScope 的变体,该小部件只执行最后一个拦截返回事件
- ElPositioned
- 在 Positioned 的基础上添加 index 权重来调整内容的显示层级
-
ElRebuildWidget<
W extends Widget> - ElRenderMultiUniqueBox
- 多节点渲染对象,所有节点存放在 renderBoxMap 集合,你可以通过 id 访问目标渲染对象
- ElRenderSecondChildBox
- ElRenderStack
- ElRing
- ElSafeArea
-
使用
ElApp所在的 context 访问 MediaQuery 对象填充安全边距,它与原生 SafeArea 的区别在于, 祖先使用 SafeArea 添加安全内边距会删除使用的内边距,这会导致后代组件可能无法正确添加安全边距。 - ElScroll
- 滚动小部件,它会一次性布局所有子项,但不会渲染可视窗口外的元素
- ElScrollNotify
- 感知子组件的滚动事件
- ElScrollResampling
- 给滚动小部件开启局部重采样
- ElSecondChildElement
- ElSecondChildWidget
- 与 SingleChildRenderObjectWidget 类似,不过它还支持渲染第二个 Widget 子组件
- ElStack
- Stack 的变体,允许通过 index 来调整堆叠小部件的显示层级
- ElTriangle
- ElUniqueWidget
- 实现 id 标识符的 Widget 接口
- IconThemeTween
- OffsetTween
Mixins
- ElSingleChildRenderObjectElementMixin
- 通用的单个 child 元素混入类,用于替代 SingleChildRenderObjectElement
- ElUniqueIndexMixin
- 在 Element 对象中永久持有 index 权重,如果子元素显示层级是固定的,那么没必要在 Element 中混入此类
Typedefs
-
ElTweenVisitor
= void Function(String key, dynamic targetValue, Tween<
Object?> tween) - UpdateCustomLayoutSize = void Function(Size size)
- 更新自定义布局尺寸回调函数