小程序tabbar顶部有一条黑色的横线,颜色太黑有些突兀,可通过如下设置进行自定义:
app.json
tabBar的borderStyle属性为默认为black,我们将它设置为white。只能设圆正置这2个值中的一个。
设置为white之后,tabbar的黑色分宴腔兆割线就看不见了。
然后,我们自定义页面tabbar分割线的样式
app.wxss
最晌租后,在需要显示分割线的页面添加分割线
1、tabBar
在app.json文件中添加tabBar节点。tabBar是小程序客户端底部或顶部tab栏的实现。
(1)tabBar相关属性
color:tab上的文字默认颜色,仅支持十六进制颜色。
selectedColor:tab上的文字选中时的颜色,仅支持十六进制颜色。
backgroundColor:tab的背景色,仅支持十六进制颜色。
borderStyle:tabbar上边框的颜色, 仅支持 black / white。
position:tabBar的位置,默认值是: bottom,仅支持 bottom / top。当 position 为 top 时,不显示 icon。
custom:自定义tabBar。
"tabBar": {
"color": "#000000",
"selectedColor": "#336699",
"backgroundColor": "#ffffff",
"borderStyle": "black",
"position": "bottom"
}
(2)list
list:tab的列表。
list 接受一个数组,只能配置最少 2 个、最多 5 个 tab。
pagePath:页面路径,必须在pages 中先定义。
text:tab 上按钮文字。
iconPath:图片神衡路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。selectedIconPath:选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。
"list": [
{
"text": "首页",
"pagePath": "pages/index/index",
"iconPath": "assets/icon/home.png",
"selectedIconPath": "assets/icon/home2.png"
},
{
"text": "列表",
"pagePath": "pages/list/list",
"iconPath": "assets/icon/list.png",
"selectedIconPath": "assets/icon/list2.png"
}
]
2、页面跳转
(1)跳转普通页面
方法① navigator组件
<!-- 跳转到普通页,可以通过返回按钮返回 -->
<navigator url="../detail/detail">到详情页</navigator>
方法② navigateTo()方法
navigateTo()方法,用于跳转普通页面。
<view bindtap="gotoDetail">到详情页</view>
gotoDetail(){
//使用全局api跳转,navigateTo()方法,用于跳转普通页面
wx.navigateTo({
url: '../detail/detail',
})
}
(2)跳转tabBar页面
方法① navigator组件
如果要使用navigator组件跳转tabBar页面,需要设置open-type="switchTab"。
<!-- 跳转到tabBar页面,不可以通过返回按钮返回。因为跳转到指定的tabBar页面后,会关闭其他所有页面 -->
<navigator url="../list/list" open-type="switchTab">到列表页</navigator> 袭猛 拍瞎桥
方法② switchTab()方法
switchTab()方法,用于跳转tabBar页面。
<view bindtap="gotoList">到列表页</view>
gotoList(){
wx.switchTab({
url: '../list/list',
})
}
项目的需求是: 根据后台返回的配色信息,前端根据返回配色信息进行配色全局引用到小程序百度和Google查了一番,都只查到用添加中隐拿类的方式,但是不满足需求,因为类里面的颜色都是写死的,我是想要样式动态,最后无奈想到全局变量的方式解决切换主题
具体实现:(在app.js文件中将小程序主题加载完成)
改变tabbar(我这里只改的图标颜色,如需改变背景色,可添加修改背景样式进行卖搭修改)
页面实现改变主题色:
组件中实现改变主题色:(大致都是一样的处理方式)
总结: 这种方法虽可以改变主题,但是也是有缺陷,比如每个页面去添加行内样式和每个页面去改变导航栏主题色,都是比较繁琐和麻烦的,而且页面改变导航栏主题色的时候,会有瞬间闪屏(真机上展示效果比编辑器好携茄多了,所以闪屏问题还算能接受),但最后实现了项目需求,也还不错.如你有更好的的方式方法,请留言告知,相互学习才能更快进步.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)