微信小程序自定义顶部导航栏(兼容适配所有机型)

为了满足更多用户的需求,微信官方给出了一个navigationStyle属性。

官方文档:navigationStyle 导航栏样式,仅支持 default/custom。custom 模式可自定义导航栏,只保留右上角胶囊状的按钮)。

1: 在app.json window 增加 navigationStyle:custom ,顶部导航栏就会消失,保留右上角胶囊状的按钮
2: Q:如果改变胶囊体颜色?

A:胶囊体目前只支持黑色和白色两种颜色 在app.josn window 加上 “navigationBarTextStyle”:“white/black”;

注:如果自定义导航栏,页面自带的返回按钮也会消失,需要用代码编写!!!!
在这里插入图片描述

<view class="custom-navbar-container">
  <!-- 状态栏占位元素 -->
  <view class="custom-status-bar" style="height: {{ statusBarHeight }}px"></view>
  <!-- navigationBar -->
  <view class="custom-navbar" style="height: {{ navbarHeight }}px">
    <text class="custom-icon"> 返回 </text>
    <text class="custom-title">我是标题</text>
  </view>
</view>
.custom-navbar-container {
  position: fixed;
  top: 0;
  z-index: 999;
  width: 100%;
}

.custom-status-bar {
  width: 100%;
  background-color: skyblue;
  text-align: center;

}

.custom-navbar {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  background-color: pink
}

.custom-icon {
   position: absolute;
   left: 20rpx;
   color: red;
}
    const { statusBarHeight} = this.getStatusbarHeight()
    this.setData({
      statusBarHeight
    })
     // 小程序右上角的那么烦人的胶囊信息
    const { height, top } = this.getMenuButton()
    this.setData({
      navbarHeight: (top - this.data.statusBarHeight) * 2 + height
    })

参考: https://blog.csdn.net/weixin_39872588/article/details/80500164?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allsobaiduend~default-1-80500164.nonecase&utm_term=%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E7%8A%B6%E6%80%81%E6%A0%8F%E9%AB%98%E5%BA%A6&spm=1000.2123.3001.4430

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现微信小程序自定义navigationbar顶部导航栏兼容适配,首先需要明确几个关键点。 1. 自定义导航栏的设计:根据产品需求和界面设计,确定导航栏的样式、背景色、标题和按钮等元素。 2. 获取手机屏幕的尺寸:小程序可以使用`wx.getSystemInfoSync()`方法获取手机屏幕的尺寸信息。 3. 设置导航栏高度:根据系统的不同,导航栏的高度也会有所差异。可以把导航栏的高度设置为一个相对较大的值,以适应大部分机型。当实际机型不同导航栏高度时,可以根据不同机型进行适配。 4. 适配不同机型的刘海屏或异形屏:对于刘海屏或者异形屏的机型,需要判断屏幕顶部是否存在刘海等异形部分,并进行相应的适配。可以使用`wx.getMenuButtonBoundingClientRect()`方法来获取右上角胶囊按钮的位置信息,从而确定导航栏背景的偏移和大小。 5. 设置页面的顶部内边距:在有自定义导航栏的情况下,为了避免导航栏遮挡页面内容,需要设置页面的顶部内边距。 6. 适配多端:微信小程序支持在不同的平台上运行,如iOS、Android、小程序开发工具等。因此要确保自定义导航栏在不同平台上的显示效果一致。 综上所述,通过了解手机屏幕尺寸、设置导航栏高度和背景、适配刘海屏、设置页面内边距以及多端适配等步骤,可以实现微信小程序自定义navigationbar顶部导航栏兼容适配,使其在不同机型上都能够正常显示和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值