HarmonyOS 鸿蒙开发——响应式布局

随着鸿蒙生态的发展,鸿蒙开发已成为时代新风口,学习鸿蒙开发势在必行。鸿蒙开发可参考学习文档:https://qr21.cn/FV7h05

响应式布局

当基本的自适应布局无法满足多终端上屏幕的体验要求时,我们需要针对不同终端的屏幕特点,设定容器与栅格的关系达到响应式的布局。通常响应式布局能根据栅格断点变化进行有级变化。

栅格断点系统

根据设备的水平宽度,OpenHarmony提供了断点系统,覆盖超小、小、中、大 四种屏幕类型,并结合栅格系统默认提供了对应 Column 的数量关系。不同的设备根据自身屏幕水平宽度,在不同的断点范围,系统将自动匹配不同数量的栅格。应用也可针对具体界面自定义栅格。

栅格断点系统与日常使用的设备屏幕类型有一定的对应关系,例如:超小对应智能穿戴设备,小对应默认设备,中对应平板,大对应智慧屏与PC。设计师可面向希望运行的设备进行所属屏幕类型的适配。

随着智能设备种类的增加,越来越多产品在四种屏幕类型上具备不同的交互能力,如支持触摸的运动相机(小)、仅支持遥杆的手持云台(小-中)、不可移动的智能台灯(中-大)等,需结合具体设备交互进行对应设计,不可一概而论。

缩进布局

为了在宽屏上内容显示有更好的效果,在不同宽度的设备上进行不同缩进效果。

缩进适用于,因宽度明显变大,内容拉伸以后导致屏幕空白内容超过50%,或文本内容过长(每行大于30字),但没有上下级界面可供同时展示或上下级界面不适合同时显示的场景。

OpenHarmony提供的默认实现为,当栅格为8column或12column时可以响应6column和8column的缩进布局。

挪移布局

利用屏幕的宽度优势,将原先的上下布局切换成左右布局。

例如,上下排布的插画和文字,横屏后左右排布。

挪移布局适用于横竖屏切换,以及类似的宽高比明显变化(大于200%)同时希望保证内容完整的场景。

重复布局

利用屏幕的宽度优势,将相同属性的组件横向并列排布。

重复布局适用于对宽高比敏感的图片和及组合内容,当内容缩放以后导致原图放大超过150%的场景。

OpenHarmony栅格系统提供的分栏实现为,当栅格为8column或12column时可以将默认4栅格的页面整体进行重复布局。

响应式布局对应OpenHarmony系统提供的布局能力中的栅格断点系统和媒体查询,详见本文 "响应式布局"。

随着鸿蒙生态的发展,鸿蒙开发已成为时代新风口,学习鸿蒙开发势在必行。鸿蒙开发可参考学习文档:https://qr21.cn/FV7h05

相关推荐
半个落月6 分钟前
React 组件通信进阶:useContext 与自定义 Hook 实战详解
前端·react.js
用户9210802628614 分钟前
ChatComposer 输入区改造:基于技能市场实现 Agent 输入框
前端
用户459892045651616 分钟前
一套 KMP 多仓库版本治理工作流:用 Version Catalog + CI 把发版流水线自动化
前端·kotlin
小赵同学WoW17 分钟前
1-4 TypeScript 中的 `number`、`bigint` 与 `string`
前端
小赵同学WoW22 分钟前
1-3 `boolean` 与字面量类型
前端
光影少年25 分钟前
react navite 长列表优化:FlatList / SectionList 原理与优化属性
前端·react native·react.js
cindershade25 分钟前
鼠标 3D 倾斜卡片
前端
wordbaby25 分钟前
从双端内卷到一库多端:基于 pnpm + Taro 4 + RNOH 鸿蒙的 Monorepo 跨端架构实战
前端·微信小程序·app
子兮曰34 分钟前
DeepSeek Harness 架构深潜:一个把 Agent 运行时做成纯插件树的开源 Harness
前端·后端·deepseek
子兮曰2 小时前
AI Agent 完整入门指南:从 LLM 到生产落地的 30+ 个核心概念
前端·后端·agent