codecamp

支付宝小程序 UI·透明标题栏

小程序顶部标题栏和状态栏透明显示。可通过 my.getSystemInfoSync 获取标题栏和状态栏的高度,从而进行自定义开发。

扫码体验

透明标题栏二维码.png

效果示例

image

前提条件

使用标题栏透明的前提条件如下:

获取模板代码

下载 标题栏透明 Demo.zip 文件,并解压至本地。

配置字段说明

字段名 类型 示例 说明
transparentTitle String auto 导航栏透明设置。默认 none,支持 always一直透明 / auto 滑动自适应 / none 不透明
titlePenetrate String YES 是否允许导航栏点击穿透。默认 NO,支持 YES / NO 需要支付宝客户端 10.1.52+

示例代码

index.json

{
  "transparentTitle": "auto",
  "allowsBounceVertical": "NO",
  "pullRefresh": false,
  "titlePenetrate": "YES",
  "defaultTitle": ""
}

index.axml

<view class="atd-config-transparent-header">
  <view class="content-top">
    <!-- 手机状态栏,无法触发onTap -->
   <view class="statusBar" style="height: {{systemInfo.statusBarHeight}}">我是手机状态栏</view>
    <!-- 手机标题栏,在json中设置"titlePenetrate": "YES"即可触发onTap -->
   <view onTap="onTitleBar" class="titleBar" style="height: {{systemInfo.titleBarHeight}}">我是手机自定义标题栏</view>
  </view>
  <view class="content-bottom">
  </view>
</view>

index.acss

.atd-config-transparent-header {
  background-color: black;
}


.atd-config-transparent-header .content-top {
  background-image: url('https://gw.alipayobjects.com/mdn/rms_7a3c08/afts/img/A*13jpTYrECqYAAAAAAAAAAABjARQnAQ');
  background-repeat: no-repeat;
  background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  width: 100vw;
  height: 746rpx;
  color: #fff;
}


.atd-config-transparent-header .content-top .statusBar {
  background-color: green;
  display: flex;
  align-items: center;
  justify-content: center
}
.atd-config-transparent-header .content-top .titleBar {
  background-color: #108ee9;
  display: flex;
  align-items: center;
  justify-content: left;
  padding-left: 32rpx;
}


.atd-config-transparent-header .content-bottom {
  margin-top: 1000rpx;
  background-image: url('https://gw.alipayobjects.com/mdn/rms_7a3c08/afts/img/A*rFctR6myHjcAAAAAAAAAAABjARQnAQ');
  background-repeat: no-repeat;
  background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  width: 100vw;
  height: 746rpx;
}

index.js

Page({
  data: {
    systemInfo: {} // 手机基础信息
  },
  onLoad(options) {
    try {
      // 获取手机基础信息(头状态栏和标题栏高度)
      let systemInfo = my.getSystemInfoSync();
      this.setData({ systemInfo });
    } catch (e) {
      console.log(e);
      my.alert({
        title: '温馨提示',
        content: 'onLoad 执行异常'
      });
    }
  },
  /**
   * 点击手机标题栏触发的事件,需要在index.json配置titlePenetrate:"YES"
   * @method onTitleBar
   */
  onTitleBar(e) {
    my.alert({
      title: '温馨提示',
      content: '您点击了"我是手机标题栏"'
    });
  }
});
支付宝小程序 UI·上滑加载更多
支付宝小程序 UI·页面水印
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

支付宝小程序开发文档

支付宝小程序 快速示例

支付宝小程序 小程序快速示例

支付宝小程序 框架

支付宝小程序 组件

支付宝小程序组件 基础组件

支付宝小程序组件 无障碍访问

支付宝小程序 扩展组件

支付宝小程序扩展组件 UI组件

支付宝小程序 API

支付宝小程序 开发工具

支付宝小程序 云服务

支付宝小程序 Serverless

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }