Files
TPSchedule/docs/tpschedule-0.7.8-dock-tablet.md
T

3.1 KiB
Raw Blame History

0.7.8+29 Dock 弹性与 Android 平板适配

参考用户提供的 20261028-104403.mp4,保留浅白通透底座、灰色静止滑块、蓝色图标白光和课表/考试/我的文字。

点按改为弹簧移动,移动中短暂拉伸,落位有克制回弹。连续点按继承位置和速度,未结束的尺寸脉冲继续播放,避免重新开始导致边缘跳动。拖动滑块继续放大并变通透;底座随按压和拖动方向轻微扩张、偏移、回弹。通过调整玻璃实际布局范围实现,图标和文字保持独立,未对整个Dock做拉伸变换。沿用原折射着色器和轻模糊,不增加雾化程度。

当前窗口达到600逻辑像素时Dock宽300,高58;窄窗口保持264×58。课表区域最多1440宽,考试和我的最多840宽,设置和反馈最多760宽,居中留边。课表每列足够宽时使用更大字号,并用同样字号重新计算老师、教室的完整显示高度。仍为七天同屏和统一节次高度,课程名可省略并点开详情。横竖屏和分屏缩放保留当前标签、周次和滚动状态。

系统减少动画时直接落位,关闭形变;动画运行中开启该设置会清零尺寸脉冲,重新关闭也不会留下冻结形变。

验证

  • 314项Flutter测试通过,静态分析无问题,正式APK构建成功。
  • 新增/更新行为测试覆盖:点按弹性和有界回弹,快速连续反向点按(90ms、230ms,检查位置与尺寸连续),拖动外框联动、取消归位、减少动画即时/运行中切换、Dock常驻。
  • 布局测试覆盖800×1280及1280×800,缩窄到480×800,七天可见、切换标签返回时周次不变、设置/反馈在1.5倍字号下无溢出并可输入。
  • 旧冲突卡片测试在更大字号下出现2.84e-14的浮点边界差异,改为0.001逻辑像素容差;课程仍为上下相接,无可见重叠。
  • Android16/API36测试模拟器安装正式APK成功;1920×1200和1200×1920物理尺寸、密度240分别对应1280×800和800×1280逻辑窗口。实际打开示例课表、切换页面、换周并改变屏幕方向,周次保留;恢复手机尺寸也正常。检查截图并录制点按/拖动动画,未发现Flutter或AndroidRuntime致命错误。
  • 模拟器原生页面检查使用兼容软件渲染,验证布局和动画;支持着色器的Flutter测试另行通过,包含背景颜色、柔化、边缘折射和坐标对齐测试。未在实体平板或iPad上验证,不把兼容渲染截图当作实体设备折射效果的证明。
  • 独立审查发现的两项动画边界问题均先用测试复现再修正:中途开关减少动画的冻结脉冲;连续点击重置脉冲/限速导致尺寸跳变。修正后全套314项测试通过。

交付

显示版本0.7.8,构建号29,包名com.tpschedule.app。APK、源码和截图按构建号保存于dist。签名MD5仍为78 DE 91 19 AD 14 72 7F A1 C5 E5 E4 E6 81 45 EE;证书和RSA公钥与28一致。密钥、旧版本安装包和0.5.4登记冻结资料保持原样。

这次只更新APP,不需要更新服务器。若使用更新后台推送,填写版本0.7.8、构建号29,并提供本次APK对应的HTTPS下载链接。