uni-app 华为机型nvue跳转新页面无底色

uni-app 华为机型nvue跳转新页面无底色

开发环境

环境 版本号 创建方式
PC开发环境 Windows win10
HBuilderX 3.2.3
手机系统 Android
手机系统版本号 Android 10
手机厂商 华为
手机机型 华为大部分机型

操作步骤

预期结果

nvue跳转新页面,新页面有底色

实际结果

nvue跳转新页面,新页面无底色

bug描述

华为机型,nvue跳转新页面,新页面无底色
底色明显是上个页面

Image


更多关于uni-app 华为机型nvue跳转新页面无底色的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app 华为机型nvue跳转新页面无底色的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个已知的华为机型渲染兼容性问题,主要出现在Android 10系统的华为手机上。问题根源在于华为系统对SurfaceView的渲染处理机制与标准Android存在差异。

解决方案:

  1. 设置页面背景色(推荐) 在目标页面的<template>根节点或<page>节点上直接设置background-color样式:

    <template>
      <view style="background-color:#FFFFFF;">
        <!-- 页面内容 -->
      </view>
    </template>
    
  2. 全局样式配置App.vue的全局样式中设置默认背景色:

    page {
      background-color: #FFFFFF;
    }
    
  3. 页面生命周期处理 在页面的onLoadonReady生命周期中强制设置背景:

    onReady() {
      const pages = getCurrentPages()
      const currentPage = pages[pages.length - 1]
      if(currentPage.$el) {
        currentPage.$el.style.backgroundColor = '#FFFFFF'
      }
    }
    
  4. 使用页面渐入动画 在页面跳转时添加动画效果可以缓解视觉突兀:

    uni.navigateTo({
      url: '/pages/targetPage',
      animationType: 'slide-in-right',
      animationDuration: 300
    })
回到顶部