小程序开发实战案例四 | 小程序标题栏如何设置

这篇具有很好参考价值的文章主要介绍了小程序开发实战案例四 | 小程序标题栏如何设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

上一期我们了解了 小程序底部导航栏 的实现效果,今天一起来了解下如何设置小程序标题栏~

 

基础标题栏

小程序标题栏主要包含返回、标题、收藏、菜单、收起 5 个模块,其中能够调整的部分只有标题和背景色。

另外 IDE上无法展示收藏按钮,如果测试收藏按钮的相关功能 需要使用真机模式调试

 

1、基础属性

📌 我们可以在 app.json 中标题栏的基础属性进行设置,常用的属性如下:

  • defaultTitle :页面标题
  • titleBarColor :导航栏背景色
  • titleImage :图片标题

app.json(对所有页面生效)

这里分别举例说明「文字标题」和「图片标题」对应的效果:

"window": {
    "defaultTitle": "购物商城",
    "titleBarColor":"#ff4343",
    "titleImage":"https://img2.baidu.com/it/u=417873769,1232851485&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500"
  },

 

文字标题效果:

图片标题效果:

 

注意:

  • titleImage 优先级 > defaultTitle
  • 如果在页面的 json 文件中配置,仅对当前页面生效
  • 页面配置优先级 > app.json
  • 当前页面导航栏背景色无设置的情况下会沿用上级页面的配置

 

关于导航栏标题配置可能遇到的问题可以参考下面的文档:

  • [配置导航栏图片地址]
  • [修改顶部导航栏背景色]
  • [小程序标题如何在标题栏居中显示]
  • [如何设置导航栏背景渐变色]
  • [蒙层能否遮住小程序导航栏和 tabBar]

 

2、动态样式修改

如果需要对标题的样式进行动态修改,可以通过 my.setNavigationBar 方法实现:

// 设置导航栏前景色。注:frontColor 需要和 backgroundColor 一起设置
my.setNavigationBar({
  frontColor: '#ffffff',
  backgroundColor: '#ff0000',
})
// 设置导航栏标题
my.setNavigationBar({
  title: '当前标题'
})
// 重置导航栏颜色为默认配色
my.setNavigationBar({
  reset: true
})

 

另外,要注意的是,如果跳转到非 tab /首页的情况且页面栈深度为 1,页面上会出现 home 图标,如下图:

 

此时我们可以使用 my.hideBackHome 方法进行隐藏

Page({
  onShow() {
     if(getCurrentPages().length == 1){//判断页面栈深度
        my.hideBackHome();
    }
  },
});

📖 小贴士:

  • 建议在页面 onShow 时调用该方法,避免有闪烁或不生效。
  • 除了 home 图标外,其他的按钮都无法隐藏/去除。

 

这边汇总了一些关于动态样式修改的问题:

  • [返回按钮是否可隐藏]
  • [导航栏如何设置前景色,返回按钮颜色和标题颜色]

 

自定义标题栏

因为基础标题很多的属性都无法修改,如果需要标题居中、设置搜索框等操作的话,就需要用到自定义标题栏了。

1、属性配置

首先,自定义标题栏需要在对应页面的 .json 文件中配置以下属性:

  • transparentTitle:标题栏透明设置,支持设置 none / always / auto
  • titlePenetrate:是否允许标题栏点击穿透点击后方元素
"window": {
    "defaultTitle": "购物商城",
    "transparentTitle":"always",
    "titlePenetrate":"YES"
    
  }

 

none 效果:

 

always 效果:

 

auto 效果:向下拉时会逐渐透明

 

2、编写自定义标题栏代码

透明设置完成后,为了不跟返回按钮以及胶囊的位置冲突,我们需要获取到对应的位置信息,根据位置来确定自定义的模块的位置。

主要是获取标题栏(titleBarHeight)、状态栏(statusBarHeight)以及返回按钮右边的距离(right)。

获取标题栏位置:

Page({
  data: {
    titleBarHeight: 0,//标题栏高度
    statusBarHeight: 0,//状态栏高度
    right: 0,//返回按钮右边距离
  },
  onLoad(options) {
    const {
      titleBarHeight,
      statusBarHeight,
    } = my.getSystemInfoSync();
    this.setData({
      titleBarHeight,
      statusBarHeight,  
    });

    const{
      backButtonIcon,
    } = my.getLeftButtonsBoundingClientRect();
    this.setData({
      right:backButtonIcon.right
    });
  },
  //点击手机标题栏触发的事件,需要在 index.json 配置 titlePenetrate:"YES"
  onTitleBar(e) {
    my.alert({
      title: '点击了标题栏'
    });
  }
});

 

 

在 style 中设置自定义标题栏高度:

需要注意的是,只能在 style 进行动态配置,.css文件不支持动态配置。

<view class="custom-nav" style="height:{{titleBarHeight + statusBarHeight}}px">
  <view class="custom-titleBar" 
        style="height:{{titleBarHeight}}px;padding-top:{{statusBarHeight}}px;padding-left:{{right}}px"
        onTap="onTitleBar" >
    hi,我是自定义标题~
  </view>
</view>

 

.acss 代码:

.custom-nav {
  background-image: linear-gradient(to bottom, #BC3985, #D15B2C);
}

.custom-titleBar {
  display: flex;
  align-items: center;
  color: white;
  font-size: 16px;
  margin-left: 16px;
}

 

实现效果:

 

自定义导航栏的常见问题汇总在这里了,大家可以参考下~:

  • [导航栏设置透明后iOS和Android标题颜色不一致]
  • [如何获取标题栏高度以及状态栏高度]
  • [小程序导航栏标题设置空后无法触发点击事件]

 

以上就是关于【小程序标题栏设置】的所有内容了,希望对你有所帮助*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。文章来源地址https://www.toymoban.com/news/detail-751840.html

到了这里,关于小程序开发实战案例四 | 小程序标题栏如何设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【小程序】零基础微信小程序开发+实战项目

    如何拥有一款属于你自己的小程序,惊喜就在下面! 目前,小程序行业已经成为互联网营销的热门黑马之一,依托于各大流量平台,小程序行业具有天然的用户基础和得天独厚的资源优势,凭借其方便快捷的操作以及简单通俗的模式,仅短短一年的时间,就迎来了爆发性的增

    2024年02月11日
    浏览(50)
  • 微信小程序实战:智能水印相机小程序开发附源码

    一款智能水印相机,拍照自动添加时间、地点、经纬度等水印文字,可用于工作考勤、学习打卡、工作取证等,支持自定义内容以及给现有照片添加水印。无需安装,无需注册,即开即用。 主要是通过canvas给图片上添加上时间水印地点信息。首先通过官方API(chooseLocation)获取

    2024年02月09日
    浏览(67)
  • 微信小程序开发实战9_2 小程序页面转发

    小程序页面转发是小程序分享的一个重要方式,在设计小程序应用时就需要考虑那些页面需要实现转发功能,以及页面的转发参数。本节介绍如何进行小程序页面的分享,并介绍如何获取小程序卡片的分享票据。 9.2.1小程序页面转发 微信小程序提供了页面的转发的功能,用户

    2024年02月16日
    浏览(44)
  • (后续更新)【微信小程序】毕业设计 租房小程序开发实战,零基础开发房屋租赁系统小程序

    大家好,我是子木。 以前没接触过小程序,刚好毕业设计选题选到了小程序,有前端基础,于是在提交完开题后开始自学小程序(云开发),属于边学边开发的那种。缝缝补补,最终耗时1个多月写完了我的课题。 这段时间刚写完论文比较闲,所以来记录一下自己的开发过程

    2024年02月11日
    浏览(71)
  • 微信小程序开发实战10_2 小程序支付请求签名

    为了保证支付接口使用的安全,微信支付平台在支付API中使用了一些用于接口安全调用的技术。在调用时接口需要使用商户私钥进行接口调用的签名,获取到微信支付平台的应答之后也需要对应答进行签名验证。微信的应答签名使用平台证书来进行签名验证,因此在调用支付

    2024年02月11日
    浏览(43)
  • 微信小程序开发,设置小程序为可转发可分享朋友圈

    微信小程序开发过程中,我们需要把小程序设置为用户可以自己转发给好友,也可以把小程序分享到朋友圈,需要按照以下步骤来设置。 1. 在page中需要定义方法             onShareAppMessage(res) {                 // return custom share data when user share.                 c

    2024年02月10日
    浏览(91)
  • 微信小程序开发入门与实战 ①(初始微信小程序)

    @作者 : SYFStrive   @博客首页 : HomePage 📜: 微信小程序 📌: 个人社区(欢迎大佬们加入) 👉: 社区链接🔗 📌: 觉得文章不错可以点点关注 👉: 微信小程序专栏🔗 💃: 感谢支持,学累了可以先看小段由小胖给大家带来的街舞😀 🔗: 阅读文章 👉 微信小程序 (🔥)

    2024年02月09日
    浏览(111)
  • 钉钉开放平台-小程序开发实战(钉钉小程序客户端)

    钉钉(Ding Talk)是阿里巴巴集团打造的企业级智能移动办公平台,是数字经济时代的企业组织协同办公和应用开发平台。 钉钉开放平台具有强大丰富的原生能力,目前已经开放超过2000个API接口,同时为开发者和服务商提供专业的技术培训体系,分享最新功能和开放能力,提

    2024年02月03日
    浏览(41)
  • Taro 小程序开发大型实战(七):尝鲜微信小程序云(下篇)

    欢迎继续阅读《Taro 小程序开发大型实战》系列,前情回顾: 熟悉的 React,熟悉的 Hooks:我们用 React 和 Hooks 实现了一个非常简单的添加帖子的原型 多页面跳转和 Taro UI 组件库:我们用 Taro 自带的路由功能实现了多页面跳转,并用 Taro UI 组件库升级了应用界面 实现微信和支付

    2024年03月10日
    浏览(54)
  • 微信小程序开发系列(十一)·小程序页面的跳转设置以及参数传递

    目录 1.  跳转到商品列表 1.1  url: 当前小程序内的跳转链接 1.2  navigate:保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面 1.3  redirect: 关闭当前页面,跳转到应用内的某个页面。但不能跳转到 tabbar 页面 1.4  navigate和redirect的区别 1.5  switchTab:跳转到 t

    2024年04月12日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包