微信小程序实现自定义头部导航栏(详细)

微信小程序实现自定义头部导航栏(详细),第1张

width:胶囊的宽度;

height:胶囊的高度

top:胶囊距离顶部的距离

整体高度:

状态栏高度+胶囊高度+(胶囊距离-胶囊高度)2

在json文件中定义custom,自定义导航栏样式

拿到相应的导航栏信息

自定义导航栏的样式,设置fixed布局

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

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

"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 } = wxgetSystemInfoSync();

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

        const menuButtonObject = wxgetMenuButtonBoundingClientRect();

        consolelog('右上角菜单的尺寸:',menuButtonObject);

        const { top, height } = menuButtonObject;

        // 计算导航栏的高度

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

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

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

        const statusNavBarHeight = statusBarHeight + navBarHeight;

        thissetData({

            navHeight:statusNavBarHeight,

            imgTop:statusNavBarHeight-45,

            cityTop:statusNavBarHeight-45-25

        })

微信小程序的双标签模式是一种方便的多任务浏览模式。通过双标签模式,你可以在同一屏幕内同时打开两个不同的小程序,实现多任务浏览和 *** 作。

要使用微信小程序双标签模式,可以按照以下步骤进行 *** 作:

1 打开微信并进入小程序界面。

2 点击右上角的“+”号,选择第一个小程序并进入。

3 在第一个小程序中,向上滑动屏幕,并点击“添加标签页”按钮(图标为“+”和“⦁”组成),再选择要打开的第二个小程序。

4 此时,第二个小程序就会在新的标签页中打开,你可以在同一屏幕上同时浏览和 *** 作两个小程序了。

5 如果需要关闭某个标签页,可以点击标签页上的“×”按钮来关闭。

需要注意的是,并不是所有的微信小程序都支持双标签模式。如果你发现在某些小程序中没有“添加标签页”按钮,则该小程序可能不支持双标签模式。同时,在双标签模式下,你需要注意你的设备屏幕大小和分辨率,以避免 *** 作不便或界面拥挤的情况发生。

在小程序开发中,会遇到 背景图铺满整个屏幕 的需求,这个时候就必须要 "navigationStyle": "custom" ,才能让导航位置的样式可编辑,背景图才能覆盖到导航位置。这个时候就需要一个自定义导航,兼容所有设备的导航场景。

一、在 appjson 的 window 对象中定义导航的样式:

这样你会发现所有页面的导航栏都不见了。如果还有其他页面需要导航栏的,那就模仿小程序的导航栏按照以下步骤。

二、首先要在 appjs 的 onLaunch 方法里面获取手机状态栏高度,全局定义导航高度 navHeight :

注意!!!全局定义导航高度 navHeight !!!

我发现很多人会遇到 navHeight 是 undefined 这个问题。在这里说明一下,这个 navHeight 需要在 appjson 里面定义好:

三、在需要导航的 页面 Page 拿到全局变量导航高度:

四、页面展示:

五、附上样式,可以写在 appwxss :

六、界面效果:

二级侧边导航连续滑动设置微信小程序方法如下:

1、打开样式布局(wxml文件),更改js文件和数据文件(sidejs)。

2、页面显示出来了,也可以将side文件写入data里面,或是将文件写入外部,进行模块的导入,两种方法都可以。

先看效果

如需要看下一篇文章-- 微信小程序 自定义底部导航闪烁解决 正在加急完成预计明天

⚠️ "tabBar"重点,自定义tabbar也需要写,但是在appjs中隐藏默认的tabbar

⚠️ thisgetSystemInfo() === 获取设备信息,因为iosX系统适配

tabbarwxml

tabbarwxss

cjs

tabbarjson

自定义导航基本可以,下面在页面中引入并使用

footerwxml, headerwxml, mywxml

footerjson, headerjson, myjson

footerjs, headerjs, myjs

以上就是关于微信小程序实现自定义头部导航栏(详细)全部的内容,包括:微信小程序实现自定义头部导航栏(详细)、微信小程序-自定义导航栏、微信小程序双标签怎么打开等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9677689.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存