uniapp 开发小程序的时候使用自定义 tabbar 时出现切换页面闪烁的情况

news2024/11/15 11:16:45

问题:在使用自定义组件的时候可以看到页面切换明显的闪烁, 这种体验是很不好的, 当然最好的方式就是使用原生导航栏, 不要搞花里胡哨的东西。

来看下体验不好的效果
请添加图片描述

优化调整

先说思路,就是仍然设置原生 tabbar, 在应用启动的时候主动隐藏原生 tabbar, 然后使用自定义组件来进行位置占位。

在 page.json 里面设置对应的tabbar字段,

  "tabBar": {
    "color": "#727477",
    "selectedColor": "#196FFF",
    "borderStyle": "black",
    "backgroundColor": "#FFFFFF",
    "height": "105rpx",
    "fontSize": "20rpx",
    "list": [
      {
        "pagePath": "pages/home/home",
        "text": "首页"
      },
      {
        "pagePath": "pages/explore/explore",
        "text": "发现"
      },
      {
        "pagePath": "pages/training/training",
        "text": "练习"
      },
      {
        "text": "我的",
        "pagePath": "pages/my/my"
      }
    ]
  },

然后在 app.vue 文件里 launch 生命周期的时候隐藏原生的tabbar

onLaunch (() => {
  uni.hideTabBar()
})

最后在每个 tab 页面添加你自定义的 tabbar 组件, 自定义 tabbar 组件里面要使用 uni.switchTab 进行切换页面。

总结:本质上只不过是在原生 tabbar 页面添加了自定义 tabbar 组件, 我们只是把原生的隐藏了,然后用自定义组件进行了占位

可以看到优化后的效果, 在首次切换到我的页面的时候仍会有闪烁, 但是首次加载过后再次切换到页面就不再会有闪烁的问题了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1380842.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机网络 —— 数据链路层

数据链路层 3.1 数据链路层概述 数据链路层把网络层交下来的数据构成帧发送到链路上,以及把收到的帧数据取出并上交给网络层。链路层属于计算机网络的底层。数据链路层使用的信道主要由以下两种类型: 点对点通信。广播通信。 数据链路和帧 链路&…

国足2024亚洲杯首战!Python爬取每场比赛双方球队的近期交战战绩

一、爬取目标 二、完整源码 #""""""""""""""""""""""""""""""""""""""…

30 树的定义

树的定义 树的度?叶节点? 注意:k为叶节点 孩子/双亲/子孙/祖先 树的高度? 有序树 森林 树的一些操作: 粗略的框架代码: 省略。。。 小结: 树是线性表的扩展

vcruntime140.dll已加载,但找不到入口点的处理方法分享

当遇到错误提示“vcruntime140.dll已加载,但找不到入口点”时,很多人可能会感到困惑,不知道如何去处理这个问题。不过没有必要紧张,在这里我会为大家详细解释 vcruntime140.dll 文件是什么,并指导大家如何高效地解决 v…

2024年中职网络安全——Windows操作系统渗透测试(Server2105)

Windows操作系统渗透测试 任务环境说明: 服务器场景:Server2105服务器场景操作系统:Windows(版本不详)(封闭靶机)需要环境加Q 目录 1.通过本地PC中渗透测试平台Kali对服务器场景进行系统服务…

让网页自动化测试更简便,流程图设计工具为您解决痛点

在数字化时代,网页自动化测试已经成为提高工作效率、保证项目质量的重要手段。然而,传统的自动化测试往往需要复杂的编程技能,对非专业人员来说门槛较高。为了解决这个问题,我们向您推荐一款创新的设计工具,它可以通过…

好大夫问诊数据爬虫记录

好大夫问诊数据爬虫入库字段记录 获取医生的病程列表 uid Column(Integer, primary_keyTrue, autoincrementTrue) gender Column(String(10)) # 性别 age Column(Integer) # 年龄 # 总交流次数 total_communication_times Column(Integer) # 医生回复次数 doctor_reply_t…

代码随想录算法训练营第四天 | 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II

代码随想录算法训练营第四天 | 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II 文章目录 代码随想录算法训练营第四天 | 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II1 Le…

解密威胁:.kat6.l6st6r 勒索病毒的威胁与恢复

导言: 在当今数字化时代,勒索病毒已经成为网络安全威胁中的一大巨头。其中,.kat6.l6st6r 勒索病毒以其狡猾的传播方式和高级的加密算法备受关注。本文将深入介绍.kat6.l6st6r 勒索病毒的特点、应对措施以及如何预防此类威胁。如果您在面对被…

国内镜像:极速下载编译WebRTC源码(For Android/Linux/IOS)(二十四)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

视频剪辑达人分享:批量减片时时长并调整播放倍速的技巧

在视频剪辑中,经常要对多个视频片段进行时长调整和播放倍速的修改。如果一个个手动操作,不仅效率低下,还容易出错。如何快速批量处理这些片段呢?现在一起来看看云炫AI智剪批量减片时长并调整播放的具体步骤。 原视频和剪辑后的视…

HarmonyOS@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化

Observed装饰器和ObjectLink装饰器:嵌套类对象属性变化 上文所述的装饰器仅能观察到第一层的变化,但是在实际应用开发中,应用会根据开发需要,封装自己的数据模型。对于多层嵌套的情况,比如二维数组,或者数…

从DETR到Mask2Former(1):DETR-segmentation结构全解析

网上关于DETR做的detection的解析很多,但是DETR做Segmentation的几乎没有,本文结合DETR的论文与代码,对DETR做一个详细的拆解。理解DETR是理解Mask2Former的基础。 首先得把DETR-segmentation给run起来。Github上DETR的repository&#xff0…

Ubuntu下AI4Green开源ELN服务的简单部署

主部署程序:AI4Green 配置参考这篇文档:AI4Green开源ELN(电子实验记录本)-CSDN博客 流量转发和负载均衡:使用Nginx 配置参考这篇文档:Nginx负载均衡-CSDN博客 SSL配置部分参考这篇文档: 设置…

案例119:基于微信小程序的宿舍管理系统设计与实现

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

[NSSCTF Round#16 Basic] CPR

打着玩玩,比赛很简单。 Crypto pr 一个RSA题,n1p*q,n2q*r给了两个c和p,r而且flag经过pad用单因子无法解出。分别用p,r解完再取crt from Crypto.Util.number import * import randomflagplaintext NSSCTF{****************} charset abcdefghijklmn…

Mnajora 使用deb包安装软件

说明 Mnajora 安装deb软件包主要有两种方式 可以使用dpkg 直接安装也可是使用debtap将deb软件包转换成 使用dpkg sudo pacman -S dpkg #安装dpkgsudo dpkg -i ###.deb #使用dpkg安装deb软件包和在ubuntu上是一样的 安装成功 使用debtap debtap是一个用于将.deb包转换为A…

CSS伪类:为网页增添交互和样式

CSS伪类是一项强大的特性,它允许开发者根据不同的状态、位置和结构选择器来选择和样式化HTML元素。通过使用CSS伪类,我们可以为网页增添交互性、响应性和样式化效果。本文将深入探讨CSS伪类的概念、常见用法和一些实用示例。 CSS伪类是什么 CSS伪类是一…

class_2:using namespace std命名空间

1、标准命名空间:using namespace std; std包含了基本的类、数据对象、函数等,如cin ,cout,endl等,如果在代码没有声明 using namespace std;则需要再调用这些接口的时候需要显示的声明,例如:std::cin等&…

从混沌到有序:2023年全球软件质量与效能大会中的运维经验分享

在当今这个信息化社会,软件已经成为了我们生活和工作中不可或缺的一部分。然而,随着软件应用的普及和复杂度的增加,如何保障软件的质量和效能已经成为了一个重要的问题。 2023年全球软件质量与效能大会(QECon上海站)汇…