如何实现全屏小程序及自定义左上角胶囊

本文介绍了如何在微信小程序中实现全屏显示以及自定义全屏状态下左上角的返回按钮。全屏功能可以通过设置页面配置实现,需注意不同客户端版本的兼容问题。对于自定义返回按钮,文章强调了获取手机状态栏高度的重要性,并提供了相关接口,同时分享了通过测量得到的页面标题栏高度的经验值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们在做一些譬如视频播放等功能的时候,有时候是期望可以全屏展示视频的,微信小程序为我们提供了这样的功能。

设置全屏

设置方法

我们可以在选择将整个小程序设置为全屏或者只把某个页面设置为全屏。

  • 修改app.jsonwindow属性的navigationStyle属性
{
  "window": {
    "navigationStyle":"custom"
  }
}
  • 修改index页面的index.jsonnavigationStyle属性
{
 "navigationStyle":"custom"
}

需要注意的点是

关于navigationStyle

  • 客户端 7.0.0 以下版本,navigationStyle 只在 app.json 中生效。
  • 客户端 6.7.2 版本开始,navigationStyle: custom 对 [web-view]
  • 开启 custom 后,低版本客户端需要做好兼容。开发者工具基础库版本切到 1.7.0(不代表最低版本,只供调试用)可方便切到旧视觉

如何自定义左上角返回按钮

有些时候,我们需要在全屏状态下,自定义一个左上角胶囊或者返回按钮,来实现页面的返回或别的功能。为了美观,我们需要把这个按钮和右上角的胶囊对齐。

小程序标题栏

从图中我们可以看到,小程序顶部的标题栏,主要包括红色的手机状态栏和绿色的页面标题栏部分。我们需要获取到的是手机状态栏的高度,以及绿色部分的高度,好让我们自己的控件和标题对齐。

  • 获取手机状态栏高度
    我们可以使用wx.getSystemInfo这个接口,来获取手机状态栏的高度,至于同步异步,大家自己选择。
wx.getSystemInfo({
  success (res) {
    console.log(res.statusBarHeight)        //状态栏的高度,单位px
    console.log(res.pixelRatio)
    console.log(res.windowWidth)
    console.log(res.windowHeight)
    console.log(res.language)
    console.log(res.version)
  }
})
  • 获取标题栏高度
    这个东西没有办法获取到,经过我们的调查和测量,发现44px是极好的哈哈哈哈。

PS:小程序在wx.getSystemInfo这个方法的[2.7.0]基础库上新增了几个属性,其中有一个如下:

image.png

由于我们使用的是2.6的基础库,并不敢升到2.7上去,所以没有办法去试一下,不过大胆猜测一下这几个属性跟这个标题栏高度是不是相关?哈哈哈~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值