Dash Bubble Banner

Dash Bubble


? 概述

一个 Flutter 插件,允许您在屏幕上创建一个浮动气泡,该气泡基于 Floating-Bubble-View 库,由 TorryDo 开发 ?

该插件目前 **仅支持 Android**。

Animated Example

此 GIF 来自 示例项目

? 设置

将 `android/app/build.gradle` 文件中的最低 SDK 版本设置为 21 或更高

android {
    defaultConfig {
        ...
        minSdkVersion 21 // Set this to 21 or higher
        ...
    }
}

该插件使用以下两个权限,但您无需将它们添加到 `AndroidManifest.xml` 文件中,因为插件会自动添加它们

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

? 用法

导入包

import 'package:dash_bubble/dash_bubble.dart';

使用 DashBubble 的单例实例来访问所有可用的方法,例如

DashBubble.instance.requestPermission()
DashBubble.instance.startBubble()

? 您可以查看完整的 API 参考 此处

? 可用方法

注意:所有方法都是异步的,返回类型为 Future<bool>

方法 描述 参数 行为 注意事项
requestPermission() 请求在其他应用程序上绘制的权限 如果授予了权限,则返回 true,否则返回 false 如果权限已授予,此方法将返回 true 而不询问用户。在 Android 6.0 (M) 之前的 Android 版本中,此方法将返回 true 而不询问用户。
hasPermission() 检查是否授予了在其他应用程序上绘制的权限 如果授予了权限,则返回 true,否则返回 false
isRunning() 检查气泡当前是否正在运行 如果气泡正在运行,则返回 true,否则返回 false 如果气泡在屏幕上可见,则认为气泡正在运行
startBubble() 启动气泡 BubbleOptions? optionsFunction()? onBubbleTap 如果气泡成功启动,则返回 true,否则返回 false 如果气泡已在运行或未授予权限,此方法将返回 false
stopBubble() 停止气泡 如果气泡成功停止,则返回 true,否则返回 false 如果气泡未运行,此方法将返回 false

? 气泡自定义选项

注意:所有选项都是可选的,您可以仅传递您想自定义的选项。

选项 描述 默认值
notificationTitle 服务通知的标题
notificationText 服务通知的文本
notificationIcon 服务通知的图标
bubbleIcon 气泡的图标
closeIcon 关闭按钮的图标
startLocationX 气泡在 x 轴上的初始起始位置 0
startLocationY 气泡在 y 轴上的初始起始位置 200
bubbleSize 气泡的大小 60
enableClose 是否显示关闭按钮
enableAnimateToEdge 当气泡被拖动到屏幕边缘时,是否将其动画到屏幕边缘
enableBottomShadow 是否在气泡关闭按钮下方显示阴影
keepAliveWhenAppExit 当应用关闭时是否保持气泡活动

✅ 路线图

  • 添加测试 ?
  • 实现一个即用型 AppBubble,它会在应用在后台运行时自动启动,在应用在前台运行时停止,并且在点击气泡时能够将应用带到前台 ?
  • 能够将 Widget 作为 bubbleIconcloseIcon 传递 ??
  • 在原始库中实现 ExpandableView 功能 ⚡

?? 贡献指南

我很乐意接受您的贡献 ?

如果您发现错误或想要一个新功能,但不知道如何修复/实现它,请填写一个 Issue。如果您修复了错误或实现了新功能,请发送一个 Pull Request

使用 contrib.rocks 制作。

GitHub

查看 Github