更新记录

1.0.0(2026-06-26) 下载此版本

  • Initial release
  • Added reusable bottom navigation component
  • Added scaffold container component
  • Added configurable notch generation
  • Added adaptive layout support

平台兼容性

uni-app(5.07)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

uni-app x(5.07)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

其他

多语言 暗黑模式 宽屏模式
× ×

Ryan Common Bottom Navigation

An iOS-style capsule bottom navigation component for uni-app, with a floating center action button, animated active pill, scaffold container, and configurable notch geometry.

Components

  • ryan-common_bottom_navigation
  • ryan-common_bottom_navigation_scaffold

Features

  • Reusable bottom navigation for uni-app projects
  • Floating center action button with notch-matched shell
  • Animated active capsule background
  • Configurable badge count and dot badge
  • Responsive layout scaling for different widths
  • Scaffold wrapper for page switching scenarios
  • Configurable notch depth and shell shape parameters

Install

Place the module in:

uni_modules/ryan-common_bottom_navigation

Basic Usage

<template>
    <ryan-common_bottom_navigation
        :items="items"
        :current-index="currentIndex"
        :center-action="centerAction"
        :layout="layout"
        @change="handleChange"
        @centerTap="handleCenterTap"
    />
</template>

Scaffold Usage

<template>
    <ryan-common_bottom_navigation_scaffold
        :items="items"
        :pages="pages"
        :current-index="currentIndex"
        :center-action="centerAction"
        :layout="layout"
        @change="handleChange"
    >
        <template #page="{ page, index }">
            <component :is="page.component" :key="index" />
        </template>
    </ryan-common_bottom_navigation_scaffold>
</template>

Item Format

[
    {
        id: 'bookshelf',
        label: 'Bookshelf',
        inactiveIcon: '/static/icons/book.svg',
        activeIcon: '/static/icons/book-fill.svg',
        badge: { type: 'count', value: 8 }
    }
]

Main Props

ryan-common_bottom_navigation

  • items: navigation item array
  • value / currentIndex: active tab index
  • centerAction: center button config object
  • shellInset: horizontal inset of the navigation shell
  • theme: color and background theme overrides
  • layout: size, spacing, notch, and scaling overrides
  • absolute: whether the nav is absolutely positioned at the bottom

ryan-common_bottom_navigation_scaffold

  • pages: page config array
  • contentPaddingBottom: custom bottom padding for page content
  • absoluteNavigation: whether the navigation stays absolute

Events

  • input
  • update:currentIndex
  • itemTap
  • change
  • centerTap

Notch Configuration

You can control the shell notch through the layout prop:

layout: {
    notchDepth: 10,
    notchShoulderLeft: 139,
    notchShoulderCurveLeft: 157,
    notchArcStartX: 167,
    notchArcEndX: 223,
    notchShoulderCurveRight: 233,
    notchShoulderRight: 251,
    notchArcRadius: 38
}

Increase notchDepth to make the center indentation deeper.

Optional Static Asset

If you prefer a static shell background image instead of generated SVG, use:

/uni_modules/ryan-common_bottom_navigation/static/nav-shell.svg

隐私、权限声明

1. 本插件需要申请的系统权限列表:

No additional permissions required.

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

No data collection.

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

No ads.

许可协议

MIT协议

暂无用户评论。