微信小程序— 自定义导航效果

今天来聊一聊微信小程序导航如何自定义,微信小程序开发者文档提供了navigationStyle,在app.json里面添加。

app.json

"window": {
           "backgroundTextStyle" : "#000"             //下拉背景字体,loading图的样式
           "navigationBarBackgroundColor" : "red"    //导航标题背景色                
           "navigationBarTitleText": "标题",         //导航标题内容
           "navigationBarTextStyle": "#fff"         //导航标题字体颜色
           "navigationStyle": "custom" //自定义导航   default默认样式
  },

因为微信小程序不支持单个页面设置,一旦在要决定使用自定义导航栏,那么每个页面都需要设置,所有单独新建一个组件,用于存放导航栏。


image.png

组件代码如下图:

<view class='nav' style="height:{{customBar}}px">
  <view class='con' style="height:{{customBar}}px;padding-top:{{statusBar}}px;">
    <view class="backBtn"  catchtap="details">
       <image src='../../image/login.png' mode='aspectFill' class='back-home'></image>
    </view>
    <view class="title" style="top:{{statusBar}}px">首页</view>
  </view>
</view>

js部分:

const app = getApp();
Page({
  data: {
    statusBar: app.globalData.statusBar,
    customBar: app.globalData.customBar,
    custom: app.globalData.custom
  },
  goBack() {
    wx.navigateBack({
      delta: 1
    });
  },
  details: function () {
    wx.navigateTo({
      url: '/pages/map/map' //头部按钮点击跳转页面
    })
  },
})

在需要的页面中,引入该组件。

<!-- 引入头部自定义组件 -->
<nav-bar navbar-data="{{nvabarData}}"></nav-bar>

完美解决齐刘海适配问题。


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 需求 产品说小程序返回到首页不太方便,想添加返回首页按钮,UI说导航栏能不能设置背景图片,因为那样设计挺好看的。 ...
    一个敲代码的前端妹子阅读 3,210评论 1 4
  • 因新工作主要负责微信小程序这一块,最近的重心就移到这一块,该博客是对微信小程序整体的整理归纳以及标明一些细节点,初...
    majun00阅读 7,449评论 0 9
  • 1.小程序起步 (1)点击https://mp.weixin.qq.com/wxopen/waregister?a...
    GXW_Lyon阅读 3,455评论 0 0
  • 漫不经心的翻阅着一本杂志,恍惚间“平凡人生”四个大字赤裸裸的映入眼帘,是那么的刺眼灼目。心,就像被狠狠的揪了一下,...
    文秘2班周玲47阅读 276评论 2 2
  • 我辛辛苦苦写的文章无偿地被人随随便便地看是否对我是不是一种损失? 这年头,谁还爱读书,你写的也不咋地,有人看知足吧...
    暖人村阅读 861评论 13 36