搜索插件、代码仓与 APP 分类

drag_ball 封面
插件详情v2.0.1

drag_ball

一个类似于 iPhone 上 AssistiveTouch 的 Flutter 包。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
1200
喜欢数
53
Pub 分数
150

安装插件

flutter pub add drag_ball

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

DragBall 是一个 Flutter 包,提供了一个类似 iPhone 上 AssistiveTouch 功能的浮动可拖动小部件。它允许用户自由地在屏幕上移动一个圆形按钮,从而轻松访问常用操作,而不会遮挡用户界面。非常适合用于无障碍功能或快速导航,支持 Android、iOS、Web、macOS、Windows 和 Linux 等所有主要平台。该包轻量且可自定义,使开发者能够以最少的设置将持久的交互元素集成到应用中。

适合场景

  • 无障碍功能增强
  • 快速操作访问
  • 自定义浮动控件
  • 基于手势的导航
  • 应用实用工具
  • 以移动设备为优先的用户界面设计

主要特点

  • 可拖动的浮动球
  • 跨平台支持
  • 最小设置
  • 可自定义外观
  • 平滑动画
  • 响应式交互

适合对象

  • 开发无障碍应用的开发者
  • 寻求交互元素的UI设计师
  • 需要持久浮动按钮的应用程序
  • 针对多个平台的项目
  • 快速访问界面的原型设计

使用建议

  • 可能需要仔细放置以避免界面杂乱
  • 对低端设备的性能影响
  • 每屏仅限一个活动球
  • 不适用于复杂交互
  • 某些平台需要用户权限
  • 与应用主题的设计一致性

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

cover

flutter badge paypal
qr-paypal

A flutter package, inspiration Indonesian e-commerce widget or similiar AssistiveTouch on Iphone.

📌 Note

  • Put [DragBall] on top the Scaffold

Example

Dragball(
  ball: const FlutterLogo(
    size: 70,
  ),
  initialPosition: DragballPosition.defaultPosition(),
  onTap: () => debugPrint('Dragball Tapped'),
  onPositionChanged: (DragballPosition position) =>
      debugPrint(position.toString()),
  child: Scaffold(
    appBar: AppBar(
      title: const Text('Dragball Example'),
    ),
    body: ListView.builder(
      padding: const EdgeInsets.all(20),
      itemBuilder: (BuildContext context, int index) {
        return Padding(
          padding: const EdgeInsets.only(bottom: 20),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: const [
              SizedBox(
                width: 100,
                height: 30,
                child: DecoratedBox(
                  decoration: BoxDecoration(
                    color: Color(0xFFE5E5E5),
                    borderRadius: BorderRadius.all(Radius.circular(15)),
                  ),
                ),
              ),
              SizedBox(height: 16),
              SizedBox(
                width: double.infinity,
                height: 160,
                child: DecoratedBox(
                  decoration: BoxDecoration(
                    color: Color(0xFFE5E5E5),
                    borderRadius: BorderRadius.all(Radius.circular(15)),
                  ),
                ),
              ),
              SizedBox(height: 16),
              SizedBox(
                width: 200,
                height: 30,
                child: DecoratedBox(
                  decoration: BoxDecoration(
                    color: Color(0xFFE5E5E5),
                    borderRadius: BorderRadius.all(Radius.circular(15)),
                  ),
                ),
              ),
            ],
          ),
        );
      },
      itemCount: 5,
    ),
  ),
);
Output

output


🚧 Maintener

account avatar
Farhan Fadila
📫 How to reach me: farhan.fadila1717@gmail.com

❤️ Suport Maintener

badge paypal badge linktree

qr-paypal

所属分类

源码仓库

使用此插件的项目

暂无相关数据。