更新记录

1.0.0(2024-12-05) 下载此版本

第一个浮动按钮版本,有丝滑动画过程,可贴边,使用简单


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

Float Button 浮动按钮组件

一个浮动球的 uni-app 组件,支持拖动、贴边自动隐藏、点击展开等功能。

特性

  • 支持自由拖动
  • 自动贴边并隐藏一半
  • 点击展开/自动隐藏
  • 支持图标、文字、自定义内容
  • 平滑过渡动画
  • 贴边时自动扩大点击区域

安装

  1. float-button 文件夹复制到你的项目的 components 目录下
  2. 在需要使用的页面中引入组件

使用方式

基础用法

<template>
  <view>
    <float-button text="+" @click="handleClick"/>
  </view>
</template>

<script>
import FloatButton from '@/components/float-button/float-button.vue'

export default {
  components: {
    FloatButton
  },
  methods: {
    handleClick() {
      console.log('按钮被点击')
    }
  }
}
</script>

使用图标

<float-button
  icon="/static/icon.png"
  icon-size="70%"
  @click="handleClick"
/>

使用字体图标

<float-button
  icon-class="iconfont icon-plus"
  icon-color="#ffffff"
  icon-size="40rpx"
  @click="handleClick"
/>

自定义内容

<float-button @click="handleClick">
  <view class="custom-content">
    <!-- 你的自定义内容 -->
  </view>
</float-button>

Props 属性说明

属性名 类型 默认值 说明
text String '' 按钮文字
icon String '' 按钮图片路径
iconClass String '' 图标类名(支持 iconfont 等字体图标)
iconSize String '60%' 图标大小
iconColor String '#ffffff' 图标颜色
size String '100rpx' 按钮大小
initialPosition Object { bottom: '100px', left: '10px' } 初始位置

事件

事件名 说明 参数
click 点击按钮时触发 -

功能说明

  1. 初始显示

    • 进入页面时按钮完全显示
    • 3秒后自动贴边并隐藏一半
  2. 贴边效果

    • 拖动释放时自动贴边
    • 贴边时隐藏按钮的一半
    • 贴边状态下自动扩大点击区域
  3. 交互行为

    • 点击时完全显示,3秒后自动隐藏
    • 拖动时完全显示
    • 支持自由拖动定位
    • 所有状态变化都有平滑过渡动画

注意事项

  1. 确保在页面中正确注册和引入组件
  2. 如果使用字体图标,需要自行引入���应的字体文件
  3. 图片图标建议使用正方形图片以获得最佳显示效果
  4. 按钮大小和图标大小支持各种单位(px、rpx、%等)

示例

<!-- 文字按钮 -->
<float-button text="+" @click="handleClick"/>

<!-- 图片图标 -->
<float-button
  icon="/static/icon.png"
  icon-size="70%"
  @click="handleClick"
/>

<!-- 字体图标 -->
<float-button
  icon-class="iconfont icon-plus"
  icon-color="#ffffff"
  icon-size="40rpx"
  @click="handleClick"
/>

<!-- 自定义位置 -->
<float-button
  text="+"
  :initial-position="{ bottom: '200px', right: '20px' }"
  @click="handleClick"
/>

隐私、权限声明

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

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

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

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问