栅格解决的是“同一组卡片排几列”,动态布局解决的是“页面结构什么时候改变”。本文用一个设置面板示例,把 ArkUI 的 onAreaChange、条件渲染和布局模式表串起来:窄屏纵向堆叠,宽屏切成主设置区 + 右侧状态栏;再对照 Android View/Compose 的资源限定符、WindowSizeClass 与 BoxWithConstraints。
同一个“入口宫格/卡片墙”,在手机要两列、平板要三列、横屏要四列:如果你靠 if/else 手写一堆宽高,很快就会失控。本文用一个最小可复用的“功能入口栅格”示例,对照 ArkUI 的 GridRow/GridCol 与 Android(Compose 的 LazyVerticalGrid / View 的 GridLayoutManager),把“列数、间距、span/offset、断点”这套规则落到具体写法。