HarmonyOS 如何动态适配屏幕?

我们设计稿是以 360 作为基准宽,所以在 main_pages.json 中配置了以下参数:

"window": {
  "designWidth": 360,
  "autoDesignWidth": false
}

在折叠状态下,UI 是正常的,当时展开后图标均过大,所以想动态改变 designWidth 值为 720 或动态计算,但下面文档貌似只能配置

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/module-configuration-file-V5#pages标签

我需要如何动态配置,或是如何解决这一问题,我的界面是相机页,不是列表页,所以需要通过这种摆放的方式布局。需要如何解决?

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

1、关于如何动态配置 main_pages.json 中的 designWidth:

目前不支持动态修改配置文件

2、关于如何适配相机页这种摆放的方式布局页面:

方案1:

ArkUI框架默认采用vp为基准数据单位,这里的designWidth就是在做页面设计时的基准宽度,但是需要注意两点: 如果使用vp为单位(上面介绍了默认就是vp),无论是否配置designWidth,均不会影响UI效果; 如果使用lpx为单位,lpx是会根据配置的designWidth的大小影响UI效果的,举个例子: 如果designWidth把720改成750,假设原先的一个容器组件宽度设置的720lpx,会发生如下情况: 在designWidth:720情况下,该容器组件宽度铺满整个屏幕。在designWidth:750情况下,该容器组件宽度不会铺满屏幕。

由此,可以在当前页面使用vp为基准数据单位来布局,防止展开后图标均过大,像素单位相关详情请参考:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-pixel-units-V5

方案2:

通过响应式布局动态调整页面,详情请参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/responsive-layout-V5

分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 屏幕适配,字体适配问题
35浏览 • 1回复 待解决
如何适配不同屏幕尺寸?
353浏览 • 1回复 待解决
鸿蒙手机屏幕怎么适配
9791浏览 • 1回复 待解决
关于不同屏幕UI适配方案
359浏览 • 1回复 待解决
请问现在harmonyOS屏幕适配方案吗?
3827浏览 • 1回复 待解决
HarmonyOS屏幕模式和小窗口模式适配
709浏览 • 1回复 待解决
硬件设备如何适配HarmonyOS
12630浏览 • 1回复 待解决
HarmonyOS Navigation如何适配pad
32浏览 • 1回复 待解决
HarmonyOS 希望适配SVGAPlayer SDK适配
16浏览 • 1回复 待解决
HarmonyOS 如何感知屏幕解锁
38浏览 • 1回复 待解决
HarmonyOS 如何控制屏幕亮度
14浏览 • 1回复 待解决
HarmonyOS如何动态改变图标
539浏览 • 1回复 待解决
HarmonyOS pad小窗适配如何实现
4浏览 • 1回复 待解决