美文网首页
微信小程序-自定义导航栏

微信小程序-自定义导航栏

作者: 肉肉要次肉 | 来源:发表于2021-03-18 16:45 被阅读0次

    自定义导航栏分两种,一种是单独某个页面做一个自定义导航;一种是所有页面的导航栏都是自定义样式

    如果是所有页面的导航栏都要自定义,在app.json里找到window样式

    "navigationStyle":"custom"

    所有页面的就需要先自定义组件了,这里先不做详说,因为我目前项目中只是首页需要自定义导航栏,这里我先详说这个

    在你想自定义的页面的json文件中写"navigationStyle":"custom"

    这样当前页面自带的导航栏就没有了,然后需要你在wxml页面中就可以开始写样式了

    自定义导航栏样式

    <!-- 自定义导航栏 -->

        <view class="navStyle" style="height:{{navHeight}}px">

          <view class="navFix" style="height:{{navHeight}}px;margin-top:{{imgTop}}px;">

              <image src=""></image>

              <view style="margin-top:{{cityTop}}px;">

                全国

                {{cityName}}

              </view>

          </view>

        </view>

    计算自定义导航栏高度

    // 获取状态栏高度

            const { statusBarHeight } = wx.getSystemInfoSync();

            // 得到右上角菜单的位置尺寸

            const menuButtonObject = wx.getMenuButtonBoundingClientRect();

            console.log('右上角菜单的尺寸:',menuButtonObject);

            const { top, height } = menuButtonObject;

            // 计算导航栏的高度

            // 此高度基于右上角菜单在导航栏位置垂直居中计算得到

            const navBarHeight = height + (top - statusBarHeight) * 2;

            // 计算状态栏与导航栏的总高度

            const statusNavBarHeight = statusBarHeight + navBarHeight;

            this.setData({

                navHeight:statusNavBarHeight,

                imgTop:statusNavBarHeight-45,

                cityTop:statusNavBarHeight-45-25

            })

    相关文章

      网友评论

          本文标题:微信小程序-自定义导航栏

          本文链接:https://www.haomeiwen.com/subject/yhkpcltx.html