uniapp自定义tabbar——中间特殊按钮

这篇具有很好参考价值的文章主要介绍了uniapp自定义tabbar——中间特殊按钮。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

方法一:原生tabbar,修改中间图标的样式

uniapp自定义tabbar——中间特殊按钮,uniapp,前端

  • pages.json
"tabBar": {
		"color": "#cccccc",
		"selectedColor": "#2979ff",
		"borderStyle": "black",
		"backgroundColor": "#ffffff",
		"list": [
			{
				"pagePath": "pages/message/index",
				"iconPath": "static/tabbar/5.png",
				"selectedIconPath": "static/tabbar/5-5.png",
				"text": "消息"
			},
			{
				"pagePath": "pages/home/index",
				"iconPath": "static/tabbar/logo.jpeg",
				"selectedIconPath": "static/tabbar/logo.jpeg",
				"text": ""
			},
			{
				"pagePath": "pages/my/index",
				"iconPath": "static/tabbar/6.png",
				"selectedIconPath": "static/tabbar/6-6.png",
				"text": "我的"
			}
		]
	}
  • 样式覆盖 App.vue
// 底部tabbar
.uni-tabbar__item:nth-child(3) .uni-tabbar__icon {
	width: 36px !important;
	height: 36px !important;
}
 
  • 消息设置角标
uni.setTabBarBadge({
	index: 0,
	text: '2'
})

方法二:uview2.0自定义tabbar组件,适用任意情况

uniapp自定义tabbar——中间特殊按钮,uniapp,前端

tabbar组件

<template>
	<u-tabbar :value="tab" @change="changeTab" :fixed="true" :border="true" :placeholder="true"
		:safeAreaInsetBottom="true">
		<u-tabbar-item text="消息" icon="chat" badge="3"></u-tabbar-item>
		<u-tabbar-item text="">
			<image style="width: 80rpx;height: 80rpx;" slot="active-icon" src="../static/wallet.png"></image>
			<image style="width: 80rpx;height: 80rpx;" slot="inactive-icon" src="../static/wallet.png"></image>
		</u-tabbar-item>
		<u-tabbar-item text="设置" icon="setting"></u-tabbar-item>
	</u-tabbar>
</template>

<script>
	export default {
		props: {
			tab: {
				type: Number,
				require: true
			},
		},
		data() {
			return {
				list: ["/pages/message/index", '/pages/home/index', "/pages/set/index"]
			}
		},
		methods: {
			changeTab(name) {
				console.log(88, name)
				uni.reLaunch({
					url: this.list[name]
				})
			},
		}
	}
</script>

<style scoped lang="scss">
	.status_bar {
		height: var(--status-bar-height);
		width: 100%;
	}
</style>

main.js全局组件注册

import tabbar from './components/tabbar.vue'
Vue.component('tabbar', tabbar)

主页面使用

  • 在三个主页面分别引入组件
  • 传入对于的索引即可
<!-- 自定义底部-->
<tabbar :tab="1"></tabbar>

方法三:uniapp配置midButton:适用点击中间图标跳转非tabbar页面

uniapp自定义tabbar——中间特殊按钮,uniapp,前端文章来源地址https://www.toymoban.com/news/detail-686741.html

pages.json配置midButton

"tabBar": {
		"color": "#cccccc",
		"selectedColor": "#E84118",
		"borderStyle": "black",
		"backgroundColor": "#ffffff",
		"list": [{
			"pagePath": "pages/home/index",
			"iconPath": "static/tabbar/1.png",
			"selectedIconPath": "static/tabbar/1-1.png",
			"text": "首页"
		}, {
			"pagePath": "pages/classify/index",
			"iconPath": "static/tabbar/2.png",
			"selectedIconPath": "static/tabbar/2-2.png",
			"text": "分类"
		}, {
			"pagePath": "pages/cart/index",
			"iconPath": "static/tabbar/3.png",
			"selectedIconPath": "static/tabbar/3-3.png",
			"text": "购物车"
		}, {
			"pagePath": "pages/my/index",
			"iconPath": "static/tabbar/4.png",
			"selectedIconPath": "static/tabbar/4-4.png",
			"text": "我的"
		}],
		// 中间按钮
		"midButton": {
			"pagePath": "pages/my/index",
			"width": "60px",
			"height": "45px",
			"text": "",
			"iconPath": "static/wallet.png",
			"iconWidth": "40px"
		}
	}

app.vue

		onLaunch: function() {
			console.log('App Launch')
			uni.onTabBarMidButtonTap(() => {
				uni.navigateTo({
					url: '/pages/home/list',
				});
			})
		},

到了这里,关于uniapp自定义tabbar——中间特殊按钮的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 小程序自定义tabbar,中间凸起

    微信小程序自带tabbar,但无法实现中间按钮凸起样式和功能,因此按照设计重新自定义一个tabbar 如需源码,请点击下载源码,或点击顶部下载按钮

    2024年02月08日
    浏览(38)
  • iOS开发-实现自定义Tabbar及tabbar按钮动画效果

    iOS开发-实现自定义Tabbar及tabbar按钮动画效果 之前整理了一个继承UITabbarController的Tabbar效果 查看 https://blog.csdn.net/gloryFlow/article/details/132012628 这里是继承与UIViewController的INSysTabbarViewController实现及点击tabbar按钮动画效果。 INSysTabbar继承UIView,实现tabbarButton效果 INSysTabbar.h INSys

    2024年02月14日
    浏览(42)
  • uniapp开发小程序-实现中间凸起的 tabbar

    1.首先在 pages.json 文件中进行tabbar的样式和列表配置,代码如下: 2.在components文件中封装一个Tabbar 组件,命名为 TabBar.vue 代码如下: 3.在 mian.js 全局注册组件 4.在页面中使用组件

    2024年02月14日
    浏览(37)
  • 微信小程序自定义tabbar【中间凸起样式】

    效果预览 微信开发文档:自定义tabBar 一、配置信息 在 app.json 中的 tabBar 中指定 custom 字段为 true【允许使用自定义 tabBar】 在所有 tab 页 json 中申明usingComponents 项,或者在 app.json 中全局开启 在 list 中指定自己需要 tab 示例 二、添加 tabBar 代码文件 在代码根目录下添加custom-

    2024年02月10日
    浏览(51)
  • 微信小程序自定义 底部 tabbar (中间凸起)

    在与 pages 文件夹同级的地方新建 custom-tab-bar 文件夹,并新建 index.wxml 、index.wxss 、index.js 、index.json 四个文件夹 注意路径!!! 复制后会报错,把图片和页面路径改掉就好了!!! 提示: 不要无脑复制,复制到自己的项目中后记得更改图片、页面路径!!! 如需自定义 头

    2024年02月20日
    浏览(52)
  • 微信小程序自定义tabbar导航栏,中间凸出样式

    这种样式的底部导航栏 使用微信小程序的自定义tabBar:微信小程序官方说明 uni.app=在  page.json   中的  tabBar  项指定  custom   字段为true: 在根目录创建custom-tab-bar目录, 注意一定要完全匹配,不要输错 :  index.js代码: 注意这里的中间需要凸出项设置一个class index.json代码

    2024年02月09日
    浏览(47)
  • uniapp小程序自定义tabBar,根据身份切换自定义tabBar

    1. 对于导航页自定义tabBar,仍需要在pages.json中配置tabBar 2. 在App.vue中的onShow生命周期中隐藏原生tabBar 但发现切换的时候有时还是会出现原生tabBar,于是在 每一个导航页 的 onShow 生命周期中加上uni.hideTabBar({animation: false})来解决此问题 3. 在components下新建自定义组件文件,因为

    2024年02月11日
    浏览(41)
  • uni-app 微信小程序之自定义中间圆形tabbar

    首先在 pages.json 文件中,新建一个 tabbar 页面 此页面主要是写 tabbar的html样式和布局,引用主页面代码,通过 v-if 控制进行展示 index , search , maim , news , me 一级页面 css 样式文件太多了就不贴出来了

    2024年02月03日
    浏览(66)
  • 微信小程序自定义导航栏机型适配--底部Tabbar--view高度--底部按钮适配

    自定义微信小程序头部导航栏 自定义微信小程序头部导航栏,有几种方式 方式一 定义此方法后,头部的导航栏会去掉,导航栏下的元素会直接向上移动到原导航栏的位置,可以再app.json配置成全局沉浸式导航栏,以及在单页面配置沉浸式导航栏。 方式二 使用组件 这里使用

    2024年02月02日
    浏览(55)
  • uniapp 自定义tabBar导航栏

    1.在App.vue文件里把原生的tabBar导航栏,隐藏掉 2.在components文件下,创建一个uni-tab-bar.vue文件 3.在main.js引入组件 4.在需要的页面,使用组件

    2024年04月11日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包