我们设计稿是以 360 作为基准宽,所以在 main\_pages.json 中配置了以下参数:
"window": {
"designWidth": 360,
"autoDesignWidth": false
}
在折叠状态下,UI 是正常的,当时展开后图标均过大,所以想动态改变 designWidth 值为 720 或动态计算,但下面文档貌似只能配置
我需要如何动态配置,或是如何解决这一问题,我的界面是相机页,不是列表页,所以需要通过这种摆放的方式布局。需要如何解决?
我们设计稿是以 360 作为基准宽,所以在 main\_pages.json 中配置了以下参数:
"window": {
"designWidth": 360,
"autoDesignWidth": false
}
在折叠状态下,UI 是正常的,当时展开后图标均过大,所以想动态改变 designWidth 值为 720 或动态计算,但下面文档貌似只能配置
我需要如何动态配置,或是如何解决这一问题,我的界面是相机页,不是列表页,所以需要通过这种摆放的方式布局。需要如何解决?
1 回答1.1k 阅读✓ 已解决
1 回答1.3k 阅读
1 回答1.2k 阅读
1 回答1.1k 阅读
1 回答1.1k 阅读
1 回答971 阅读
1 回答945 阅读
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