评论

自定义顶部导航-微信小程序

小程序自定义顶部导航,3种模式

随着小程序功能越来越多,在部分页面中,顶部区域也需要利用起来,而且有些要求和app/h5等样式统一,所以需要使用到自定义顶部导航,分享下自用的定义顶部导航。

小程序现在支持在单个页面中设置顶部样式为自定义,只需要页面package.json中加入

"navigationStyle""custom"

顶部导航分为状态栏区域和标题区域。状态栏区域可以通过 wx.getSystemInfoSync() 中的 statusBarHeight 获取其高度,通过 windowWidth 获取其宽度;标题栏则要通过 wx.getMenuButtonBoundingClientRect() 获取小程序右上方的操作按钮位置及大小,再通过计算其top和状态栏高度等获得,标题栏宽度为windowWidth,高度为 (胶囊按钮的top - 状态栏高度)* 2 + 胶囊的高度。其他部分也通过类似的方法进行换算

为了便于复用,将其封装为组件,采用slot的方式将内容加载入组件中。

现共有3种样式

1.空余出左侧及中部区域

2.空出中部区域

3.透明顶部导航


代码片段:https://developers.weixin.qq.com/s/CJEjgbml7BG3

最后一次编辑于  2023-02-21  
点赞 5
收藏
评论

5 个评论

  • 王瘦
    王瘦
    07-21

    为什么不开启编译成ES5就会报错

    07-21
    赞同
    回复
  • 行走丶路上
    行走丶路上
    07-03

    请问这种嵌套web-view的情况怎么解决?感觉被web-view占满了整个页面了

    07-03
    赞同
    回复 1
    • 沉冰
      沉冰
      07-03
      webview页面不能用自定义的顶部
      07-03
      回复
  • 梦游的小唐
    梦游的小唐
    02-23

    请问这个背景颜色我修改过后为什么没有作用,就是我把这个源码放进component里面以后没有调用这个组件但是全局生效了,并且改背景色怎么改都没有效果,就是黑色

    02-23
    赞同
    回复 1
    • 沉冰
      沉冰
      02-27
      在代码片段中,我备注了的,如果你设置了背景就会覆盖掉背景颜色
      02-27
      回复
  • 蜜桃半岛
    蜜桃半岛
    2023-10-19

    [ WXSS 文件编译错误] ./pages/shouye/shouye.wxss

    File not found: /assets/css/flex.wxss 为什么我显示这个呀

    2023-10-19
    赞同
    回复 4
    • 沉冰
      沉冰
      2023-10-20
      我这里有个自己用的公共css,你要放进你的项目里,或者你自己把里面的代码复制到你想放的位置
      2023-10-20
      回复
    • 蜜桃半岛
      蜜桃半岛
      2023-10-24回复沉冰
      呜呜谢谢你
      2023-10-24
      回复
    • 蜜桃半岛
      蜜桃半岛
      2023-10-24回复沉冰
      你好 想再请教一下怎么控制返回键头的显示啊
      2023-10-24
      回复
    • 沉冰
      沉冰
      2023-10-25
      通过getCurrentPages()可以获取页面栈,可以判断这个的长度大于1才显示返回按钮
      2023-10-25
      回复
  • Ευτυχισμνο
    Ευτυχισμνο
    2023-06-07

    谢谢你天使呜呜呜呜呜

    2023-06-07
    赞同
    回复
登录 后发表内容