最近项目中,我需要把一个 Android 项目的全部页面迁移到鸿蒙。目标不是重新设计,而是尽可能完整地复刻原项目的页面、UI、交互、状态和跳转。
实际效果比我预想得好:我只设置了一次总 Goal,中间没有继续指挥,Agent 持续执行了四天多。阶段结果里,鸿蒙界面的主体完成度已经接近九成。

这里最重要的不是“四天”这个数字,而是:Agent 为什么能够在没有人持续补充指令的情况下,知道下一步该做什么,并且没有把大型迁移变成一堆不可追踪的改动?
最近项目中,我需要把一个 Android 项目的全部页面迁移到鸿蒙。目标不是重新设计,而是尽可能完整地复刻原项目的页面、UI、交互、状态和跳转。
实际效果比我预想得好:我只设置了一次总 Goal,中间没有继续指挥,Agent 持续执行了四天多。阶段结果里,鸿蒙界面的主体完成度已经接近九成。

这里最重要的不是“四天”这个数字,而是:Agent 为什么能够在没有人持续补充指令的情况下,知道下一步该做什么,并且没有把大型迁移变成一堆不可追踪的改动?
最近项目中做了一次平板适配。项目是 Kotlin Multiplatform + Compose 写的,界面代码主要在 commonMain,也就是说 Android 和 iOS 会共用大部分页面逻辑。
一开始看到“平板适配”这几个字,很容易想到两种做法:
但这两种方式后期都比较难维护。页面越来越多以后,每个页面都写一遍适配判断,代码会很散;如果单独写一套平板页面,又容易和手机页面逻辑不同步。
所以本文就以这个项目为例,看一下如何使用 Navigation 3 + Material3 Adaptive 实现一套更适合真实项目的平板适配方案:手机上仍然是普通的全屏页面跳转,平板横屏时自动变成左侧 start pane + 右侧 end pane 的双栏结构。
本文只看平板 / 大屏适配相关代码,业务逻辑不展开。