支付宝小程序 | 自定义标题导航栏

该文介绍如何在页面配置(page.json)中设置透明标题,并在page.axml中通过获取systemInfo动态设置导航栏高度,同时在page.less中设定背景图片。在page.ts中使用onLoad方法获取系统信息以实现适配。
该文章已生成可运行项目,

效果

image.png

一 、page.json

"transparentTitle": "always"

二、page.axml

<view class="custom-navigation" style="height:{{systemInfo.statusBarHeight+systemInfo.titleBarHeight+100}}px">
</view>

三、page.less

.custom-navigation {
  background: url(/assets/images/navigation-bg.png);
  background-size: 100% 100%;
}

四、page.ts

data:{
 systemInfo: {},
}

onLoad(){
   my.getSystemInfo({
      success: (res) => {
        this.setData({
          systemInfo: res,
        })
      },
   })
}
本文章已经生成可运行项目
在使用uniapp开发支付宝小程序时,实现自定义导航栏可通过在页面配置文件(`page.json`)中进行相关设置。以下是具体配置示例: ```json { "path": "pages/moreSetting/index", "style": { "navigationBarTitleText": "", "navigationStyle": "custom", "mp-alipay": { "transparentTitle": "always", "titlePenetrate": "YES" } } } ``` 上述配置中,`navigationStyle`设为`custom`表示开启自定义导航栏;`transparentTitle`设置为`always`,意味着导航栏一直透明;`titlePenetrate`设为`YES`,可解决一些自定义导航栏点击失效的问题。同时,`navigationBarTitleText`需置空,不然页面可能会显示默认标题“uni app” [^1][^2][^3]。 若在Unibest项目开发中遇到自定义导航栏点击失效的情况,添加`titlePenetrate: 'YES'`配置可解决问题,这也提醒在跨平台开发时要注意各平台特性差异,合理运用平台特有的配置项来保证用户体验的一致性 [^2]。 以下是另一个页面配置示例: ```json { "path": "pages/login/login", "style": { "navigationBarTitleText": "", "navigationStyle": "custom", "mp-alipay": { "transparentTitle": "always", "titlePenetrate": "YES" } } } ``` 此示例同样展示了如何在`page.json`里配置以实现自定义导航栏,且说明了`navigationBarTitleText`这行代码的必要性 [^3]。 还有示例如下: ```json { "path": "pages/home/home", "style": { "transparentTitle": "always", "navigationBarTitleText": "首页", "navigationStyle": "custom", "enablePullDownRefresh": true, "onReachBottomDistance": 150 } } ``` 该示例不仅包含了自定义导航栏的相关配置,还展示了如何设置下拉刷新和上拉触底距离等其他页面属性 [^4]。 ```json { "path": "user/user", "style": { "navigationStyle": "custom", "navigationBarTitleText": "", "mp-alipay": { "transparentTitle": "always", "titlePenetrate": "NO" } } } ``` 这个示例同样是自定义导航栏的配置,`titlePenetrate`设为`NO`,说明该配置项可根据实际需求调整 [^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值