HarmonyOS 鸿蒙Next Web组件获取高度不一样

HarmonyOS 鸿蒙Next Web组件获取高度不一样

在不设置web高度, 根据加载的网页内容高度来设置web的高度,在webonPageEnd方法里面获取web的高度,想问下获取web组件高度的时机应该是什么时候,或者有其他解决方案吗?

实现代码:

.onPageEnd((event) => {
console.log(‘lkp onPageEnd’)
this.webHeight = this.webviewController.getPageHeight()
setTimeout(() => {
console.log('height = ’ + this.webviewController.getPageHeight()); // 这里获取的高度是:2994
this.webHeight = this.webviewController.getPageHeight()
}, 2000)
this.webHeight = this.webviewController.getPageHeight()
console.log('lkp webHeight = ’ + this.webHeight) // 这里获取的高度是:7576 
})

页面顶部是导航,中间是web -> 热门推荐 -> 评论(滑动列表),整个页面是可以滑动的(评论可以加载更多),底部是评论框


更多关于HarmonyOS 鸿蒙Next Web组件获取高度不一样的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

不再更改web高度,直接使用api11里面的.nestedScroll({scrollForward: NestedScrollMode.PARENT_FIRST,scrollBackward: NestedScrollMode.SELF_FIRST}),来负责交换嵌套滚动

更多关于HarmonyOS 鸿蒙Next Web组件获取高度不一样的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


API12支持的属性,renderMode,可以实现你说的这种情况,Web({ src: ‘www.example.com’, controller: this.controller, renderMode: 1 }) .layoutMode(WebLayoutMode.FIT_CONTENT)

解决了web上下都有组件,web显示不全的问题了吗

你好,请问解决了么

在HarmonyOS鸿蒙系统中,Next Web组件获取高度不一致的问题可能源于多种因素,包括但不限于布局配置、组件本身的特性、以及设备屏幕差异等。以下是一些可能的原因及检查方向:

  1. 布局配置:检查组件在布局文件中的设置,确保没有使用固定高度或不一致的约束条件。使用相对布局或百分比布局可能有助于保持高度一致性。

  2. 组件特性:某些Next Web组件可能具有自适应高度的特性,这可能导致在不同内容或状态下高度变化。确认组件的官方文档,了解其高度调整机制。

  3. 设备屏幕差异:不同设备的屏幕分辨率和密度可能导致组件渲染时的高度差异。使用响应式设计原则,确保组件在不同设备上都能良好显示。

  4. 版本兼容性:确保你的开发环境和目标设备的鸿蒙系统版本一致,避免版本不兼容导致的问题。

  5. 代码审查:仔细检查相关代码,特别是与组件高度相关的逻辑,确保没有逻辑错误或遗漏。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。在那里,你可以获得更专业的技术支持和解决方案。

回到顶部