关于 flutter-responsive-layout
一项 Flutter 技能,指导开发者依据父级约束而非假定设备型号构建响应式布局,并适配不同视口、导航和输入方式。
主要功能
- 01诊断约束与溢出问题
- 02设置以内容为依据的断点
- 03适配导航与信息密度
- 04兼顾安全区、文字缩放和输入
- 05测试边界宽度与本地化文本
适用场景
- 01修复窄屏下的布局溢出
- 02为较大视口调整导航
- 03检查大号文字和键盘内边距下的布局
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ thienqo/ flutter-skills --skill flutter-responsive-layout安装后在 Claude Code 中输入/flutter-responsive-layout确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/cases.jsonreferences/adaptive-navigation-patterns.mdgeometry-viewport-and-fixture-testing.md详细介绍
Flutter 响应式布局
根据父级提供的约束进行设计,而不是猜测设备型号。
诊断
在发生问题的视口中复现布局,并启用文本缩放和相关平台界面。读取第一个有意义的约束或溢出错误,并确定是哪个组件施加了不兼容的尺寸。如果没有发生框架异常,请检查受影响组件的几何布局和命中测试行为,而不要仅凭控制台没有报错就认定布局可用。
规则
- 当子树需要响应局部约束时使用
LayoutBuilder;当行为取决于窗口或无障碍属性时使用MediaQuery。 - 选择少量由内容驱动的断点;不要针对特定设备名称进行分支。
- 优先使用灵活约束、换行、滚动或替代布局,而不是通过固定宽高进行修补。
- 在大屏幕上保持内容宽度易于阅读,不要让所有元素都随之拉伸。
- 空间发生显著变化时,调整导航和信息密度。
- 尊重安全区域、显示特征、键盘内边距、文本缩放,以及指针和触控输入。
- 如果没有证据表明有必要,请避免在热路径上的复杂树中使用
IntrinsicHeight或重复进行固有尺寸测量。
验证
测试每个断点上下紧邻的宽度、较长的本地化字符串、大号文本、横屏,以及预期的桌面端/Web 窗口尺寸。添加有针对性的组件测试或黄金测试,涵盖可通过视觉断言可靠表示的回归问题。
当组件发生重叠、被裁切或遮挡操作时,请参阅几何布局、视口和测试夹具测试参考。为重要组件定义明确的空间关系,而不要把每个相交的渲染框都视为缺陷。
参考资料
当涉及自适应导航时,请参阅自适应导航模式参考。
来源
评论
支持 Markdown