2026-09-03 一卡通同步弹框双列布局设计
目标
缩短“一卡通服务同步”弹框的纵向高度,使全量人员同步的主要信息尽量在一页内完整显示,同时保持现有完整时间格式和三段耗时口径不变。
布局方案
- 弹框目标宽度由通用设置弹框的 1000dp 调整为一卡通同步专用的 1200dp。
- 实际宽度取“1200dp”和“屏幕宽度扣除两侧安全边距”中的较小值,避免较小横屏设备截边。
- 源端同步和业务端同步放入同一个横向容器,左右等宽,中间使用资源尺寸定义的列间距。
- 两列继续分别展示状态、开始时间、结束时间、耗时和进度。
- 连接、本地保存、同步汇总、失败原因和操作按钮继续整行展示。
- 外层保留
ScrollView,作为小屏、字体放大或长错误信息的兜底。
时间展示
- 继续使用
yyyy-MM-dd HH:mm:ss.SSS,不缩短日期或毫秒。 - 1200dp 目标宽度下开始和结束时间自然保持单行;较小屏幕允许换行,确保完整而不截断。
- 耗时、状态和进度继续使用现有资源文案与字号。
尺寸与硬编码边界
- 新增一卡通同步弹框专用宽度资源,不修改全局
setting_dialog_width。 - 新增屏幕安全边距和双列间距资源,Java 与布局中不散落像素或 dp 常量。
- 运行时只对目标宽度做屏幕上限保护,不改变高度和居中行为。
数据与行为边界
- 不修改源端每批 2000 人和业务端每批最多 1000 条。
- 不修改自动/手动触发、独立日志、分段计时、状态持久化或本地保存规则。
- 只调整弹框布局和宽度计算。
验收标准
- 目标横屏设备上弹框明显加宽,但左右保留安全边距且整体居中。
- 源端与业务端两列并排、等宽;目标设备上完整时间不换行,较小屏幕允许换行且不得截断。
- 未启用本地保存时,常规信息尽量一页展示完整。
- 启用本地保存后仍优先一页展示;特殊情况下可正常上下滑动。
- 资源编译、完整单元测试、Debug APK 构建和
git diff --check 通过。
非目标
- 不删除滚动能力。
- 不缩小字号。
- 不缩短时间格式。
- 不改变同步业务流程或日志字段。