官方文档

效果图:

实现底部Tab选项,只需要在项目根目录下的app.json下修改

如图:

------------------------------------------------------------------------------------------------------

 先介绍一下app.json文件

  1. 默认有两个代码块:
  2. pages
  3. 这里注册了当前小程序的所有页面路径
  4. window
  5. 这里用于设置小程序的状态栏、导航条、标题、窗口背景色。
  6.  
  7. 以上两个详细使用参考文档,本文章不做介绍

我们看下app.json提供的另一个配置项:tabBar

tabBar提供一些公有的属性对tab配置:

 而针对每一个单独的tab 也有一些属性进行配置:

官方示意图:

------------------------------------------------------------------------------------------------------

 具体实现底部Tab功能:

 设定一个需求,假设当前我们有两个tab,一个'主页',一个'我的' , 未选中灰黑色,选择红色。

 一、在pages目录下创建两个目录,并创建想要的js、json、wxml、wxss相关文件

名字随意,这里举例:home目录(主页Tab相关),mine目录(我的Tab相关)

二、在根目录下新建一个目录,取名images(随意取),用于存放图片,这里tab需要使用

  1、在阿里素材库下载几个,注意tab图片需要下载点击和未点击两种状态下的图片。

2、讲图片资源复制到自己建的用于存图片的目录下

三、app.json文件配置

1、在pages属性中配置项目所有的页面路径,我们这个例子就两个,home,mine

  1. "pages":[
  2. "pages/home/home",
  3. "pages/mine/mine"
  4. ]

    2、添加tabBar 属性 , 定义一些状态

根据文章前面部分讲解,进行一些必要属性的配置

  1. "tabBar":{
  2. "color": "#333333",
  3. "selectedColor": "#ff0000",
  4. "backgroundColor": "#fff",
  5. "list":[
  6. {
  7. "pagePath":"pages/home/home",
  8. "text":"主页",
  9. "iconPath":"images/home.png",
  10. "selectedIconPath":"images/home_selected.png"
  11.  
  12. },
  13. {
  14. "pagePath":"pages/mine/mine",
  15. "text":"我的",
  16. "iconPath": "images/mine.png",
  17. "selectedIconPath":"images/mine_selected.png"
  18. }
  19. ]
  20. }
  1. {
  2. "pages":[
  3. "pages/home/home",
  4. "pages/mine/mine"
  5. ],
  6. "window":{
  7. "backgroundTextStyle":"light",
  8. "navigationBarBackgroundColor": "#fff",
  9. "navigationBarTitleText": "WeChat",
  10. "navigationBarTextStyle":"black"
  11. },
  12.  
  13. "tabBar":{
  14. "color": "#333333",
  15. "selectedColor": "#ff0000",
  16. "backgroundColor": "#fff",
  17. "list":[
  18. {
  19. "pagePath":"pages/home/home",
  20. "text":"主页",
  21. "iconPath":"images/home.png",
  22. "selectedIconPath":"images/home_selected.png"
  23.  
  24. },
  25. {
  26. "pagePath":"pages/mine/mine",
  27. "text":"我的",
  28. "iconPath": "images/mine.png",
  29. "selectedIconPath":"images/mine_selected.png"
  30. }
  31. ]
  32. }
  33. }

app.json

四、单独页面的配置

  一个页面包含js、hson、wxml、wxss等相关文件。

      这里不再多具体介绍,只添加一个小需求,点击tab切换相关页面,该页面标题要和tab一致,页面内容也和tab一致,用于说明tab效果正确实现。

1、设置单独页面的页面标题,这个需求是在json文件中配置实现的。

   主需要在单独页面路径下的json文件中添加属性:

    官方文档

2、在页面中显示与tab一致的文字

     页面内容搭建(ui绘制代码)是在单独页面路径下的wxml文件中配置实现的。

   

    官方文档

--------------------------------------------------------------------------------------

小程序实践(一):主页tab选项实现

小程序实践(二):swiper组件实现轮播图效果

小程序实践(三):九宫格实现及item跳转

小程序实践(四):动态控制组件的显示/隐藏

小程序实践(五):for循环绑定item的点击事件

小程序实践(六):view内部组件排版

小程序实践(七):页面间传值

小程序实践(八):验证码倒计时功能

小程序实践(九):返回到上一个界面并传值回去

小程序实践(十):textarea实现简单的编辑文本界面

小程序实践(十一):showModal的使用

小程序实践(十二):七牛云上传图片

小程序实践(一):主页tab选项实现的更多相关文章

  1. 小程序实践(十一):showModal的使用

    显示模态对话框,确定和取消两个选择+标题+内容的对话框 . // 编辑用户性别 tapSex:function(res){ var that = this wx.showModal({ title: ...

  2. 小程序实践(十):textarea实现简单的编辑文本界面

    textarea是官方的原生组件,用于多行输入 简单的例子,监听文本内容.长度,以及设置最大可输入文本长度 wxml <view class='textarea-Style'> <t ...

  3. 小程序实践(六):view内部组件排版

    涉及知识点: 1.垂直排列,水平排列 2.居中对齐 示例: 1.默认排版 , 一个父组件里面两个子view 显示效果: 2.先给父view设置一个高度和颜色值,用于看效果 3.实现水平排列和垂直排列的 ...

  4. 小程序实践(五):for循环绑定item的点击事件

    微信展示列表效果借助于 wx:for  简单写一个列表(wxml文件中): 对应的数据源(js文件中): 写一个点击监听: 效果: 以上.可以实现列表的item点击效果,但是无法到点击的item对应的 ...

  5. 小程序实践(三):九宫格实现及item跳转

    效果图: 实现效果图红色线包含部分的九宫格效果,并附带item点击时间. --------------------------------------------------------------- ...

  6. 小程序实践(二):swiper组件实现轮播图效果

    swiper组件类似于Android中的ViewPager,实现类似轮播图的效果,相对于Android的Viewpager,swiper实现起来更加方便,快捷. 效果图: 首先看下swiper支持的属 ...

  7. 微信小程序的wx-charts插件-tab选项卡

    微信小程序的wx-charts插件-tab选项卡 效果: //index.js var wxCharts = require('../../utils/wxcharts-min.js'); const ...

  8. 解决微信小程序的wx-charts插件tab切换时的显示会出现位置移动问题-tab切换时,图表显示错乱-实现滑动tab

    解决Echarts在微信小程序tab切换时的显示会出现位置移动问题 tab切换时,图表显示错乱 <canvas class="kcanvas" canvas-id=" ...

  9. mpvue 转小程序实践总结

    介绍 Mpvue 是一个使用 Vue.js 开发小程序的前端框架.  基础介绍 框架基于 Vue.js 核心,修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序 ...

随机推荐

  1. Python档案袋(变量与流程控制)

    变量与运算 得到数据类型: ii=100 print(type(ii)) #输出:<class 'int'> 强制转换: ii=100 iix=str(ii) #可为int str flo ...

  2. Go语言下的线程模型

    阅读Go并发编程对go语言线程模型的笔记,解释的非常到,好记性不如烂笔头,忘记的时候回来翻一番,在此做下笔记. Go语言的线程实现模型,又3个必知的核心元素,他们支撑起了这个线程实现模型的主要框架: ...

  3. sql server 锁与事务拨云见日(下)

    在锁与事务系列里已经写完了上篇中篇,这次写完下篇.这个系列俺自认为是有条不紊的进行,但感觉锁与事务还是有多很细节没有讲到,温故而知新可以为师矣,也算是一次自我提高总结吧,也谢谢大伙的支持.在上一篇的末 ...

  4. 华为机试001:字符串最后一个单词的长度(华为OJ001)

    华为机试 字符串最后一个单词的长度 计算字符串最后一个单词的长度,单词以空格隔开. 提交网址: http://www.nowcoder.com/practice/8c949ea5f36f422594b ...

  5. Android UI(一)Layout 背景局部Shape圆角设计

    Jeff Lee blog:   http://www.cnblogs.com/Alandre/  (泥沙砖瓦浆木匠),retain the url when reproduced ! Thanks ...

  6. 【原创】ucos信号量的操作及原理

    信号量的操作及原理   1.OSSemCreate创建信号量semaphore     在使用信号量之前,要先用OSSemCreate创建一个信号量,并通过返回的合法事件结构体指针使用信号量. OS_ ...

  7. eclipse使用maven打包的时候发现静态资源没包含进去

    今天在打包的时候,发现传上去的包里没有配置静态资源. (右键项目--->Run As ---> 8 Maven install  ) 后来发现是因为在pom.xml里没有配置打包静态资源的 ...

  8. Python系列:三、流程控制循环语句--技术流ken

    Python条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非 ...

  9. angularjs_百度地图API_根据经纬度定位_示例

    百度API--Demo地址:   http://lbsyun.baidu.com/jsdemo.htm#i8_4 本例是在angular.js使用的百度地图根据经纬度定位的API:(正常的页面写法基本 ...

  10. [转]Node.JS使用Sequelize操作MySQL

    Sequelize官方文档  https://sequelize.readthedocs.io/en/latest/ 本文转自:https://www.jianshu.com/p/797e10fe23 ...