CN117270845A - 一种基于微信小程序的自定义TabBar方法 - Google Patents
一种基于微信小程序的自定义TabBar方法 Download PDFInfo
- Publication number
- CN117270845A CN117270845A CN202310820618.1A CN202310820618A CN117270845A CN 117270845 A CN117270845 A CN 117270845A CN 202310820618 A CN202310820618 A CN 202310820618A CN 117270845 A CN117270845 A CN 117270845A
- Authority
- CN
- China
- Prior art keywords
- tabbar
- item
- navigation
- page
- component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 239000003086 colorant Substances 0.000 claims abstract description 9
- 238000009877 rendering Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 3
- 238000011161 development Methods 0.000 abstract description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开的属于移动应用程序开发和界面设计技术领域,具体为一种基于微信小程序的自定义TabBar方法,包括将app.josn文件配置页面固定为tabbar‑custom1,tabbar‑custom2,tabbar‑custom3,tabbar‑custom4,tabbar‑custom5这5个页面;将步骤A的5个页面全部引入TabbarCustom组件,隐藏微信小程序自带的tabbar等多个步骤,本发明支持动态配置TabBar的图标、文字、颜色、背景颜色等属性,而且可以随时进行更新和修改,不需要重新发布应用程序,大大提高了应用程序的灵活性和可维护性。
Description
技术领域
本申请涉及移动应用程序开发和界面设计技术领域,具体为一种基于微信小程序的自定义TabBar方法。
背景技术
TabBar是小程序页面中常用的导航组件,它可以方便地切换页面,并提高用户体验。在一些场景下,自定义TabBar可以更好地满足业务需求和用户体验。微信小程序提供了自定义TabBar的功能,可以自定义底部菜单的背景色、选中态样式、未选中态样式等属性,以适应不同的应用场景,可以自定义每个TabBar按钮的图标,可以是图片或者是iconfont图标等。可以自定义每个TabBar按钮的文字,以便于用户识别和使用。
现有自定义TabBar的样式和功能都需要在代码里定义,且最多只支持5个页面,随着产品需求的变化而不断调整代码,而这些调整可能会涉及到多个页面,增加了维护的难度和成本。由于微信小程序平台的不断更新,以及不同手机厂商、不同操作系统的差异,小程序版本的不同,现有自定义TabBar在不同的环境下可能会出现兼容性问题,需要开发者进行充分的测试和适配。
发明内容
本申请的目的在于提供一种基于微信小程序的自定义TabBar方法,以解决上述背景技术中提出的在不同的环境下可能会出现兼容性问题,需要开发者进行充分的测试和适配的问题。
为实现上述目的,本申请提供如下技术方案:一种基于微信小程序的自定义TabBar方法,包括以下步骤:
步骤A,将app.josn文件配置页面固定为tabbar-custom1,tabbar-custom2,tabbar-custom3,tabbar-custom4,tabbar-custom5这5个页面;
步骤B,将步骤A的5个页面全部引入TabbarCustom组件,隐藏微信小程序自带的tabbar;
步骤C,小程序启动后调用接口,根据接口获取tabbar的配置信息,该配置是一个一维数组;
步骤D,TabbarCustom组件获取tabbar的配置信息,根据tabbar数组内容的顺序分配名为pagePath的tabbar页面路径,然后通过数组的map方法去循环渲染每一项的内容,如果该项为分类导航,则会根据分类导航的配置,通过数组的map方法去循环渲染,生成一个节点通过相对定位固定在该项顶部,默认为隐藏状态,用showClassify为false标识,点击该项区域会触发点击事件,点击事件会拿到该项配置,判断是否是分类导航,如果是分类导航,则取反showClassify状态,展示或隐藏分类导航节点,点击分类导航子项,则会根据路径地址跳转到二级页面,如果不是分类导航,则跳转到该项的pagePath路径,并携带参数realPath,realPath为配置的目标链接地址;
步骤E,tabbar页面会根据页面参数realPath去匹配对应的组件,在页面进行组件的引入渲染。
优选的,所述步骤B中的TabbarCustom组件调用微信官方提供的wx.hideTabBar方法。
优选的,所述步骤C中数组对象信息包含tabbar导航名称,选中前和选中后的导航名称颜色,选中前和选中后的图标,选中前的tababr背景颜色和选中后的tababr背景颜色,是否是分类导航以及渲染页面的路径。
优选的,所述TabbarCustom组件为自定义tabbar组件,负责渲染自定义tabbar的文字样式,图标样式,选中后的文字样式,图标样式,分类导航以及事件处理。
优选的,所述步骤D中如果当前页面的路径地址和当前项的配置地址一致,则用selected为true标识选中状态,根据selected状态分别渲染对应的内容。
与现有技术相比,本发明的有益效果是:
1)本发明支持动态配置TabBar的图标、文字、颜色、背景颜色等属性,而且可以随时进行更新和修改,不需要重新发布应用程序,大大提高了应用程序的灵活性和可维护性。此外,本发明还支持分类导航的新型设计,可以满足不同应用场景下的需求,提高了用户的使用体验。
2)本发明采用了TabbarCustom组件进行渲染,避免了多个页面之间相互影响的问题,提高了应用程序的兼容性和可靠性。同时,通过引入状态栏和标题栏的样式设置,增强了应用程序的可定制性。
3)本发明方案非常简单易用,只需要通过配置后台进行配置即可,降低了应用程序的开发成本和难度。
4)本发明具有原生tabbar的能力,支持switchTab切换tabbar页面,保证其稳定性和可靠性,引入的tabbar页面是一个容器,其内容是根据配置信息渲染生成,是非固定的,且tabbar的页面路径支持配置任意页面,同时tabbar样式根据配置动态展示,可根据需求随时随意配置,更具有灵活性和个性化。
5)本发明支持动态设置TabBar的图标、文字、颜色、背景颜色等属性,可以随时根据需求进行调整;支持动态配置导航栏,状态栏的背景颜色;支持分类导航,在tabbar展示更多跳转链接;支持动态配置tabbar页面路径,不需要通过发布,通过修改配置即可完成更新,灵活多变;tabbar样式适配曲面屏、全面屏;支持非tabbar页面进入小程序,左上角图标可以回到首页。
附图说明
图1为本发明流程框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例:
请参阅图1,本申请提供一种技术方案:一种基于微信小程序的自定义TabBar方法,包括以下步骤:
步骤A,将app.josn文件配置页面固定为tabbar-custom1,tabbar-custom2,tabbar-custom3,tabbar-custom4,tabbar-custom5这5个页面;
步骤B,将步骤A的5个页面全部引入TabbarCustom组件,TabbarCustom组件调用微信官方提供的wx.hideTabBar方法,隐藏微信小程序自带的tabbar;
步骤C,小程序启动后调用接口,根据接口获取tabbar的配置信息,该配置是一个一维数组,数组对象信息包含tabbar导航名称,选中前和选中后的导航名称颜色,选中前和选中后的图标,选中前的tababr背景颜色和选中后的tababr背景颜色,是否是分类导航以及渲染页面的路径;
步骤D,TabbarCustom组件获取tabbar的配置信息,根据tabbar数组内容的顺序分配名为pagePath的tabbar页面路径,例如:数组第一项pagePath为tabbar-custom1的页面路径,数组第二项pagePath为tabbar-custom2的页面路径,以此类推,然后通过数组的map方法去循环渲染每一项的内容,如果当前页面的路径地址和当前项的配置地址(默认为tabbar-custom1页面地址)一致,则用selected为true标识选中状态,根据selected状态分别渲染对应的内容,如果该项为分类导航,则会根据分类导航的配置,通过数组的map方法去循环渲染,生成一个节点通过相对定位固定在该项顶部,默认为隐藏状态,用showClassify为false标识,点击该项区域会触发点击事件,点击事件会拿到该项配置,判断是否是分类导航,如果是分类导航,则取反showClassify状态,展示或隐藏分类导航节点,点击分类导航子项,则会根据路径地址跳转到二级页面,如果不是分类导航,则跳转到该项的pagePath路径,并携带参数realPath,realPath为配置的目标链接地址;
步骤E,tabbar页面会根据页面参数realPath去匹配对应的组件,在页面进行组件的引入渲染。
本发明相对于已有的实现方案,支持动态设置TabBar的图标、文字、颜色、背景颜色等属性,可以随时根据需求进行调整,能够满足不同小程序的不同需求,根据不同小程序的定位和功能特点,自由定制tabbar的样式和布局,增加小程序的灵活性和个性化,通过配置5个固定的页面,注册为TabBar页面,避免了多个页面之间相互影响的问题,提高了代码的可维护性和可读性,通过转换为组件,实现了自定义TabBar的渲染,提高了程序的兼容性和可靠性。
以上显示和描述了本申请的基本原理和主要特征和本申请的优点,对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请;因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内,不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
尽管已经示出和描述了本申请的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本申请的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本申请的范围由所附权利要求及其等同物限定。
Claims (5)
1.一种基于微信小程序的自定义TabBar方法,其特征在于:包括以下步骤:
步骤A,将app.josn文件配置页面固定为tabbar-custom1,tabbar-custom2,tabbar-custom3,tabbar-custom4,tabbar-custom5这5个页面;
步骤B,将步骤A的5个页面全部引入TabbarCustom组件,隐藏微信小程序自带的tabbar;
步骤C,小程序启动后调用接口,根据接口获取tabbar的配置信息,该配置是一个一维数组;
步骤D,TabbarCustom组件获取tabbar的配置信息,根据tabbar数组内容的顺序分配名为pagePath的tabbar页面路径,然后通过数组的map方法去循环渲染每一项的内容,如果该项为分类导航,则会根据分类导航的配置,通过数组的map方法去循环渲染,生成一个节点通过相对定位固定在该项顶部,默认为隐藏状态,用showClassify为false标识,点击该项区域会触发点击事件,点击事件会拿到该项配置,判断是否是分类导航,如果是分类导航,则取反showClassify状态,展示或隐藏分类导航节点,点击分类导航子项,则会根据路径地址跳转到二级页面,如果不是分类导航,则跳转到该项的pagePath路径,并携带参数realPath,realPath为配置的目标链接地址;
步骤E,tabbar页面会根据页面参数realPath去匹配对应的组件,在页面进行组件的引入渲染。
2.根据权利要求1所述的一种基于微信小程序的自定义TabBar方法,其特征在于:所述步骤B中的TabbarCustom组件调用微信官方提供的wx.hideTabBar方法。
3.根据权利要求1所述的一种基于微信小程序的自定义TabBar方法,其特征在于:所述步骤C中数组对象信息包含tabbar导航名称,选中前和选中后的导航名称颜色,选中前和选中后的图标,选中前的tababr背景颜色和选中后的tababr背景颜色,是否是分类导航以及渲染页面的路径。
4.根据权利要求1所述的一种基于微信小程序的自定义TabBar方法,其特征在于:所述TabbarCustom组件为自定义tabbar组件,负责渲染自定义tabbar的文字样式,图标样式,选中后的文字样式,图标样式,分类导航以及事件处理。
5.根据权利要求1所述的一种基于微信小程序的自定义TabBar方法,其特征在于:所述步骤D中如果当前页面的路径地址和当前项的配置地址一致,则用selected为true标识选中状态,根据selected状态分别渲染对应的内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310820618.1A CN117270845A (zh) | 2023-07-06 | 2023-07-06 | 一种基于微信小程序的自定义TabBar方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310820618.1A CN117270845A (zh) | 2023-07-06 | 2023-07-06 | 一种基于微信小程序的自定义TabBar方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117270845A true CN117270845A (zh) | 2023-12-22 |
Family
ID=89211124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310820618.1A Pending CN117270845A (zh) | 2023-07-06 | 2023-07-06 | 一种基于微信小程序的自定义TabBar方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117270845A (zh) |
-
2023
- 2023-07-06 CN CN202310820618.1A patent/CN117270845A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3964988B2 (ja) | ヘルプ情報の表示方法および記録媒体 | |
US8745511B2 (en) | System and method for customizing layer based themes | |
EP2919496B1 (en) | Method for realizing downloading of mobile terminal application program and mobile terminal | |
US9542065B2 (en) | System and method of skinning themes | |
US9032390B2 (en) | Framework versioning | |
US20080294986A1 (en) | Apparatus and method for creating macro | |
KR101025949B1 (ko) | Xml 표현에서 z-order 엘리먼트들의 정밀립 제어 | |
US20060123360A1 (en) | User interfaces for data processing devices and systems | |
CN110798570B (zh) | 消息查看方法、智能终端及计算机可读存储介质 | |
US20060121939A1 (en) | Data processing devices and systems with enhanced user interfaces | |
US20130219305A1 (en) | User interface substitution | |
EP2587371A1 (en) | Improved configuration of a user interface for a mobile communications terminal | |
WO2006135154A1 (en) | Mobile terminal and method for operation | |
EP2849060A1 (en) | Mobile terminal and application program management method thereof | |
CN109445891B (zh) | 画面组态及展示方法、装置、计算机可读存储介质 | |
CN112016023A (zh) | 业务处理方法、装置、终端及存储介质 | |
CN113596596B (zh) | 用于直播应用的礼物打赏系统、方法、设备和介质 | |
CN108897469A (zh) | 一种图标更新方法及终端设备 | |
CN108319474A (zh) | 一种页面信息生成方法、装置和设备 | |
CN117270845A (zh) | 一种基于微信小程序的自定义TabBar方法 | |
CN114594890A (zh) | 媒体信息的轮播展示方法、装置、电子设备及存储介质 | |
CN112445501A (zh) | 数据烧录方法及设备、计算机可读存储介质 | |
CN108156534B (zh) | 演示应用的生成方法、装置及计算机可读存储介质 | |
CN115437711A (zh) | 一种Qml主题皮肤更换方法、装置、电子设备及存储介质 | |
US20140143734A1 (en) | Business object explorer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |