小程序返回按钮,兼容所有机型的高度办法

现象

在使用返回按钮的时候在不同机型上返回按钮小图标位置总是不一样,一会高一会低。

原因

因为手机的状态栏一般是不一样的,导致设置固定高度的时候就随时在改变。

解决办法

  1. 直接获取胶囊按钮的top值和height值
  2. 将返回按钮的top值设置为一样的,将图标按钮高度设置一样的,注意宽度尽量大一点,防止图片失真。

实例代码

page.wxml

html 复制代码
<navigator open-type="navigateBack" class="back-button" 
           style="top: {{navTop}}px; height: {{navHeight}}px;" bindtap="goBack">
  <image src="https://serve.zimeinew.com/images/back.png" mode="aspectFit" />
</navigator>
属性 / 元素 作用说明
navigator 用于页面跳转组件。
open-type="navigateBack" 表示"返回上一页"。
class="back-button" 给返回按钮设置样式。
bindtap="goBack" 绑定点击事件 goBack 方法。
<image ... /> 返回按钮的图标。
mode="aspectFit" 控制图片显示的模式。aspectFit 表示:保持原始宽高比缩放图片。
css 复制代码
.back-button {
  position: fixed;
  left: 20rpx;
  top: 75rpx;
  width: 70rpx;
  height: 70rpx;
  z-index: 999;
}

.back-button image{
  width: 100%;
  height: 100%;
  /* object-fit: contain; 保证图片完整显示且不变形 */
}
javascript 复制代码
Component({
  properties: {},
  data: {
    navTop: 0,
    navHeight: 0
  },
  lifetimes: {
    attached() {
      this.getNavHeight();
    }
  },
  methods: {
    getNavHeight() {
      const menuButtonInfo = wx.getMenuButtonBoundingClientRect(); // 获取胶囊按钮信息
      const navTop = menuButtonInfo.top; // 胶囊按钮顶部坐标
      const navHeight = menuButtonInfo.height; // 胶囊按钮右侧坐标

      this.setData({
        navTop: navTop,
        navHeight: navHeight
      });
    }
  }
});

总结

返回按钮Top和Height与胶囊属性相同。

扩展

不同设备的状态栏属性

获取胶囊按钮信息

javascript 复制代码
const menuButtonInfo = wx.getMenuButtonBoundingClientRect(); // 获取胶囊按钮信息
console.log(menuButtonInfo)

获取设备信息,获取设备状态栏高度

javascript 复制代码
const systemInfo = wx.getSystemInfoSync(); // 获取系统信息
const statusBarHeight = systemInfo.statusBarHeight; // 状态栏高度
console.log(systemInfo)
console.log(statusBarHeight)
相关推荐
毕设源码-邱学长3 小时前
【开题答辩全过程】以 基于微信小程序的农商新闻网为例,包含答辩的问题和答案
微信小程序·小程序
小光学长3 小时前
基于微信小程序的家具商城系统g80l9675(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·微信小程序·小程序
云起SAAS3 小时前
1V1七彩测评抖音快手微信小程序看广告流量主开源
微信小程序·小程序·ai编程·看广告变现轻·1v1七彩测评
sheji34163 小时前
【开题答辩全过程】以 基于微信小程序的签到系统的设计与实现为例,包含答辩的问题和答案
微信小程序·小程序
说私域5 小时前
基于开源链动2+1模式AI智能名片S2B2C商城小程序的社群运营创新研究
人工智能·小程序·开源
chinrock5 小时前
如何抓包飞书小程序-飞书开发者工具
小程序·飞书
Jing_Rainbow1 天前
【 Weapp-1 /Lesson18(2025-11-03)】# 微信小程序开发全解析:从项目结构到生态优势 🚀
微信·微信小程序·程序员
千寻技术帮1 天前
50045_基于微信小程序的民宿预订管理系统
微信小程序·源码·ppt·项目文档·民宿
禁止摆烂_才浅1 天前
Taro 小程序页面返回传参完整示例
react.js·微信小程序·taro
vx_dmxq2111 天前
【微信小程序学习交流平台】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·python·mysql·微信小程序·小程序·idea