uni-app 离线打包,荣耀安卓15下,app底部三键导航时导航键和底部功能键显示交互重叠问题

发布于 1周前 作者 yuanlaile 来自 Uni-App

uni-app 离线打包,荣耀安卓15下,app底部三键导航时导航键和底部功能键显示交互重叠问题

信息类别 详细信息
产品分类 uniapp/App
PC开发环境 Windows
PC版本号 10
HBuilderX 正式
HBuilderX版本号 4.15
手机系统 Android
手机系统版本号 Android 15
手机厂商 荣耀
手机机型 荣耀magic7
页面类型 nvue
vue版本 vue2
打包方式 离线
项目创建方式 HBuilderX

bug描述:

上架荣耀市场,在安卓15下,底部三键导航下导航键和底部功能键显示交互重叠问题,如附件所示。

另外升级到4.36已经对应的离线打包工具,打包app会白屏


5 回复

HBuilderX 4.41.2024121203-alpha 已修复。


离线包,要更新吗,还是只更新HBX?

安卓15下,底部三键导航下导航键和底部功能键显示交互重叠问题已确认,关于升级后白屏问题请另发帖咨询。

底部三键导航下导航键和底部功能键显示交互重叠问题 确认后 大概多久能解决呢

针对您提到的uni-app离线打包在荣耀安卓15设备上,底部三键导航与底部功能键显示交互重叠的问题,这通常是由于页面布局或安全区域设置不当导致的。在Android设备上,尤其是不同品牌和版本的系统,底部导航栏的高度和显示方式可能会有所不同,因此处理这类问题时需要特别注意适配。

以下是一些可能的解决方案,主要通过调整页面布局和适配安全区域来解决:

1. 使用safe-area-inset适配安全区域

uni-app提供了safe-area-inset属性来适配不同设备的屏幕安全区域。可以在页面的样式中设置该属性,确保底部功能键不会与导航键重叠。

/* 在页面的全局样式或组件样式中添加 */
page {
    padding-bottom: env(safe-area-inset-bottom);
}

2. 动态调整页面布局

通过JavaScript动态获取设备的安全区域信息,并调整页面布局。可以使用uni-app提供的uni.getSystemInfoSync方法获取系统信息,包括屏幕安全区域的信息。

const systemInfo = uni.getSystemInfoSync();
const safeAreaInsets = systemInfo.safeAreaInsets;

// 假设有一个底部功能栏,其高度为bottomBarHeight
const bottomBarHeight = 50; // 实际高度需根据设计调整

// 计算最终需要的底部内边距
const paddingBottom = safeAreaInsets.bottom + (bottomBarHeight - safeAreaInsets.bottom > 0 ? bottomBarHeight - safeAreaInsets.bottom : 0);

// 动态设置样式
document.documentElement.style.setProperty('--bottom-padding', `${paddingBottom}px`);

在CSS中引用这个变量:

.bottom-bar {
    height: var(--bottom-bar-height, 50px); /* 默认高度50px */
    margin-bottom: var(--bottom-padding, 0px);
}

3. 检查并调整组件布局

确保底部功能键的组件没有使用固定定位或超出视口范围的布局方式。使用相对定位或flexbox布局可以更好地适应不同设备的屏幕大小和安全区域。

4. 测试与调试

在荣耀安卓15设备上进行充分的测试,确保所有页面和功能在不同屏幕方向和状态下都能正确显示和交互。

通过上述方法,您应该能够解决底部功能键与导航键重叠的问题。如果问题依旧存在,建议检查具体的页面布局代码,或者考虑是否有其他第三方库或组件影响了布局。

回到顶部