用途:在修改 Flutter widget 实现时,指导以组合和主题化方式构建可维护的 UI 组件。资料将其列为 P1(HIGH)优先级。
主要能力与约定:默认使用 StatelessWidget,仅在需要本地状态或控制器时使用 StatefulWidget;将 UI 拆分为小型、原子的 const widget;通过 Theme.of(context) 取主题,禁止硬编码颜色;布局使用 Flex 配合 Gap/SizedBox;所有交互元素必须使用 widget_keys.dart 中定义的 key;UI 文件超过约 80 行时,将子 widget 抽取为私有类。
专项组件建议:多 widget 文本选择用 SelectionArea;缩放/平移用 InteractiveViewer;选择器用 ListWheelScrollView;除非确有必要,避免 IntrinsicWidth/Height;大列表始终使用 ListView.builder。
反模式:不要用 setState 管理服务端状态(服务端或共享状态应放在 BLoC);不要保留超过 80 行且未抽取的 widget 文件;不要内联 Key 字符串;不要用 _buildXxx() 辅助方法,应抽取为 const StatelessWidget 私有类;当 3 个以上同类型兄弟 widget 仅数据不同时,应遍历列表生成,把显示标签放入值对象或配套映射中。
限制:资料未提供安装命令、平台支持、收费与价格信息,也未给出完整使用步骤;动画类改动和 widget 测试被明确排除在本技能范围之外。