Flutter界面布局描述文档生成提示词
根据前端生成页面的提示词整理了Flutter端界面布局描述的提示词。
将下方所有内容和UI设计稿提供给AI让其生成描述文档。
然后再将描述文档和UI设计稿提供给Ai让其使用flutter画布局,简单页面跟UI设计稿基本没太大区别。
复杂页面跟UI设计稿有出入,但整理架构不会变改改就能用。
下方为提示词,可全部复制
Flutter界面布局描述文档生成提示词
请基于提供的页面截图,生成一个极其详细的Flutter界面布局描述文档,用于指导AI准确生成Flutter Widget代码。描述需要包含以下具体内容:
1. 整体页面架构
Scaffold结构
- AppBar配置(标题、背景色、elevation、leading/actions按钮)
- Body布局模式(Column、Row、Stack、ListView等主要容器Widget)
- BottomNavigationBar或FloatingActionButton配置
- Drawer或EndDrawer侧边栏设置
页面层次结构
- 主要区域划分和Widget嵌套层次
- 每个区域的相对位置、尺寸比例和间距(使用EdgeInsets、SizedBox等)
- 整体布局模式(垂直Column、水平Row、Stack层叠、Grid网格、ListView列表)
2. Widget层级和嵌套关系
容器Widget结构
- 从Scaffold到具体UI元素的完整Widget树
- Container、Padding、Margin的具体数值
- Expanded、Flexible的flex比例设置
- SafeArea、SingleChildScrollView等包装Widget
布局Widget配置
- Column/Row的mainAxisAlignment和crossAxisAlignment
- Stack的alignment和positioning
- GridView的crossAxisCount和spacing
- ListView的scrollDirection和itemBuilder
3. 具体UI元素规格
文本组件(Text Widget)
- 文字内容和TextStyle配置
- fontSize、fontWeight、color的具体数值
- textAlign、overflow、maxLines等属性
- 自定义字体family(如果使用)
按钮组件
- ElevatedButton、TextButton、OutlinedButton、IconButton的选择
- ButtonStyle配置(backgroundColor、foregroundColor、elevation)
- 按钮尺寸(minimumSize、padding)
- onPressed回调函数说明
输入组件
- TextField/TextFormField配置
- InputDecoration(hintText、labelText、border、prefixIcon、suffixIcon)
- TextEditingController和验证逻辑
- keyboardType和textInputAction
图片和图标
- Image.asset、Image.network的路径和配置
- Icon的IconData、size、color
- fit、alignment等图片显示属性
卡片和容器
- Card的elevation、margin、shape
- Container的decoration(BoxDecoration配置)
- 背景色(Colors.xxx或Color(0xFFxxxxxx))
- 边框样式(Border.all、BorderRadius.circular)
- 阴影效果(boxShadow配置)
列表和网格
- ListView.builder的itemCount和itemBuilder
- GridView.count的crossAxisCount和children
- ListTile的leading、title、subtitle、trailing
- 分隔线Divider的配置
4. 主题和样式
颜色方案
- 主色调(primarySwatch、primaryColor)
- 强调色(accentColor、secondaryColor)
- 背景色(backgroundColor、scaffoldBackgroundColor)
- 具体颜色值(使用Colors.xxx或十六进制值)
尺寸规范
- 标准间距值(8.0、16.0、24.0、32.0等)
- 字体大小层级(12.0、14.0、16.0、18.0、24.0等)
- 组件高度(AppBar: 56.0、ListTile: 72.0等)
- 圆角半径(4.0、8.0、12.0、16.0等)
5. 交互和状态
手势处理
- GestureDetector的onTap、onLongPress等
- InkWell的点击效果配置
- 滑动手势(onPanUpdate、onSwipe等)
状态管理
- StatefulWidget的状态变量
- setState调用时机
- 需要响应状态变化的Widget
6. 响应式设计
屏幕适配
- MediaQuery.of(context).size的使用
- 不同屏幕尺寸下的布局调整
- Orientation的横竖屏适配
约束和弹性布局
- Expanded和Flexible的使用场景
- AspectRatio的比例设置
- LayoutBuilder的约束响应
描述要求
描述要足够详细和准确,使得Flutter开发者仅凭文字描述就能完全还原界面设计,无需再次查看原图。请按照以下顺序组织内容:
- 从整体到局部:先描述Scaffold整体结构,再深入到具体Widget
- 从外层到内层:按照Widget嵌套层次,从父容器到子组件
- 从布局到样式:先确定组件位置和尺寸,再描述视觉样式
- 从静态到动态:先描述静态UI,再说明交互行为
代码组织建议
文件结构
- 主页面Widget类名和文件名
- 自定义Widget的拆分建议
- 常量和样式的单独文件管理
性能优化
- const构造函数的使用
- Widget复用的建议
- 避免不必要的rebuild
可维护性
- 组件拆分的粒度建议
- 样式统一管理
- 硬编码值的常量化
通过以上详细描述,开发者可以准确理解设计意图,并使用Flutter框架高效实现界面效果。