flutter记录

这是一个flutter项目,请帮我设计并开发一个高颜值教育app首页

渐变背景,Container + BoxDecoration 的 LinearGradient,纵向渐变
卡片式设计,卡片要有层次(带圆角阴影)
Tab导航+底部按钮用的 ConvexBottomBar 插件,横向渐变
代码中不要硬编码颜色,请使用谷歌material自带的语义化配色,主色调设为天青色

问题

  1. 总是不分模块
  2. 颜色总是不用自带的
  3. 总是自己处理深色模式isDark之类的

请增加一种淡粉色作为点缀,依然遵循语义化原则,tabbar横向这两种颜色的渐变
请为每个卡片增加一种青春气息的背景色,但是要保证文字清晰

  • 2026-01-17
    今天遇到一个SizeBox设置了宽度但是放进SilverPadding里面还是会把宽度拉到百分百,暂时给这个组件一个定位就会好了,没有研究清楚
  • 2026-01-19
    输入框页面进入另一个页面返回后总是自动获得焦点,原来是返回时,flutter会恢复页面状态,他会把之前有焦点的聚焦
    只要跳转前_textFocusNode.unfocus();即可
  • 2026-01-22

动画后测量元素

在一个动画结束后,已经触发了AnimationStatus.completed的情况下,去测量这个元素的尺寸和位置,我发现有时候并不对,AI回答这和异步渲染有关,没有深究,暂时从下一帧即可准备获取

// 获取卡牌的全局坐标
WidgetsBinding.instance.addPostFrameCallback((_) {
  // 保证所有渲染都完成了
  _handleCardOut(index);
});

坐标转换

可以先从组件里获取到localToGlobal的全局坐标,然后到了需要的地方使用globalToLocal

  • 我遇到setState之后,立即获取元素尺寸失败,貌似是setState之后页面在更新,此时无法立即获取尺寸,需要等到下一帧

子类不会自动获得父类的构造函数,而是不显示写构造函数时候,给了一个无参数的构造函数

2026-01-24

经常包等待dart虚拟机,暂时可以先重启

taskkill /f /im dartvm.exe

此处评论已关闭