更新时间:2022-12-02 17:04:57贡献者收藏我的文档设置返回文档自行实现小程序标题栏透明示例图示例代码 在代码里面进行以下设置即可实现上文效果。1在 app.json 中统一设置 transparenttitle: 'none',"titlepenetrate":"no",分别是设置全局标题栏不透明和标题栏不穿透属性。json复制代码912345{ "window": { "transparenttitle": "none" , "titlepenetrate":"no", } }2在需要开启标题栏透明效果的页面单独设置 page.json,并且设置导航栏标题为空不显示原系统标题,如需标题栏穿透则设置标题栏穿透属性。912345{ "defaulttitle": "测试", "transparenttitle": "always", // 可选值 auto/always/none "backgroundcolor": "#fff", "defaulttitle": " ", "titlepenetrate":"yes"}transparenttitle 取值效果说明transparenttitle 取值为 auto 或 always 时效果不同。transparenttitle 取值为 auto 时,页面上滑导航栏背景会有渐变效果;transparenttitle 值为 always,保持导航栏原本的颜色,不会渐变。正常的不滑动下的效果图取值 autotransparenttitle 取值为 auto,可以看到导航栏是有渐变效果的。注意:该效果为滑动页面之后的效果。取值 alwaystransparenttitle 值为 always,导航栏保持原有的样式,不会渐变。实现自定义标题栏除却 自行实现小程序标题栏透明 之外,其它效果的实现方式如下。●获取当前手机系统的导航栏和状态栏高度。页面标题栏透明后,页面的组件元素都会向上顶到状态栏里,所以需要获取状态栏高度和标题栏的高度,标题栏高度就是自定义标题栏的高度,状态栏高度则是标题栏上外边距,先在 page.js 中调用 my.getsysteminfo 来获取状态栏和标题栏高度,再将 this.setdata 赋值到 data 里。具体使用可查看 获取导航栏以及状态栏高度。●在 axml 页面设置标题栏和状态栏 view 标签,建议放在 axml 页面顶层。○设置布局一定用行内样式 style(外部样式 .css 不能设置变量参数),才能动态取到标题栏和状态栏的高度,从而适配各种机型(不同机型可能状态栏高度不同)。○最外层 view 设置宽度 width=750rpx,然后用 flex 弹性布局来实现的水平和垂直居中,弹性布局里就需要用行级标签,所以文本使用 block 标签(标题不一定是文本,也可以放图片、icon 等)。○position:fix 固定位置距离 top:{{statusbarheight}} 状态栏的高度即可。●实现 view 标签的点击事件,则在页面的 page.json 中设置标题栏穿透(前面步骤已经设置)。实现点击标题,触发标题栏下面 view 对应的点击事件。