开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
文档中心
凯发app官方网站的技术支持 & 案例 faq 
支付宝小程序
案例分析
sdk & demo下载
常见问题
常用工具
iot小程序
运维保障
小程序 > 支付宝小程序 > 案例分析 > 设置小程序标题栏透明介绍
贡献者
收藏
我的文档
设置
自行实现小程序标题栏透明
示例图

示例代码 
在代码里面进行以下设置即可实现上文效果。
1在 app.json 中统一设置 transparenttitle: 'none',"titlepenetrate":"no",分别是设置全局标题栏不透明和标题栏不穿透属性。
json
复制代码
{
"window": {
"transparenttitle": "none" ,
"titlepenetrate":"no",
} }
2在需要开启标题栏透明效果的页面单独设置 page.json,并且设置导航栏标题为空不显示原系统标题,如需标题栏穿透则设置标题栏穿透属性。
transparenttitle 取值效果说明
transparenttitle 取值为 auto 或 always 时效果不同。
transparenttitle 取值为 auto 时,页面上滑导航栏背景会有渐变效果;transparenttitle 值为 always,保持导航栏原本的颜色,不会渐变。
正常的不滑动下的效果图

取值 auto
transparenttitle 取值为 auto,可以看到导航栏是有渐变效果的。
注意该效果为滑动页面之后的效果。

取值 always
transparenttitle 值为 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 对应的点击事件。
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图