组件

import 'package:flutter/material.dart';class FloatButton extends StatefulWidget {FloatButton({Key key}) : super(key: key);@override_FloatButtonState createState() => _FloatButtonState();
}class _FloatButtonState extends State<FloatButton> {Offset offsetA = Offset(20, kToolbarHeight + 100); //按钮的初始位置@overrideWidget build(BuildContext context) {final size = MediaQuery.of(context).size;final width = size.width;final height = size.height;return Scaffold(body: Stack(children: <Widget>[Positioned(left: offsetA.dx,top: offsetA.dy,child: Draggable(//创建可以被拖动的Widgetchild: FloatingActionButton(tooltip: 'Increment',child: Icon(Icons.add),onPressed: () {},),//拖动过程中的Widgetfeedback: FloatingActionButton(tooltip: 'Increment',child: Icon(Icons.add),onPressed: () {},),//拖动过程中,在原来位置停留的Widget,设定这个可以保留原本位置的残影,如果不需要可以直接设置为Container()childWhenDragging: Container(),// FloatingActionButton(//   tooltip: 'Increment',//   child: Icon(Icons.add), onPressed: () {},// ),//拖动结束后的WidgetonDraggableCanceled: (Velocity velocity, Offset offset) {// 计算组件可移动范围  更新位置信息setState(() {var x = offset.dx;var y = offset.dy;if (offset.dx < 0) {x = 20;}if (offset.dx > 375) {x = 335;}if (offset.dy < kBottomNavigationBarHeight) {y = kBottomNavigationBarHeight;}if (offset.dy > height - 100) {y = height - 100;}offsetA = Offset(x, y);});}))]),);}
}

main

import 'package:flutter/material.dart';
import 'FloatBtn.dart';void main() => runApp(MyApp());class MyApp extends StatelessWidget {// This widget is the root of your application.@overrideWidget build(BuildContext context) {return MaterialApp(title: 'Flutter Demo',theme: ThemeData(primarySwatch: Colors.blue,),home: FloatBtn(),);}
}

flutter-可拖动悬浮按钮相关推荐

  1. Android可拖动悬浮按钮

    最近项目需要使用可拖拽的悬浮按钮,所以实现了一个小demo 因为是模拟器的缘故,拖动的时候看起来有点卡顿,如果在真机上运行时非常完美的 技术要突破的难点有下面几个: 1 如何悬浮? 使用相对布局或者帧 ...

  2. VUE PC端可拖动悬浮按钮改进

    VUE PC端可拖动悬浮按钮改进 之前发过一篇悬浮球的,但是那个不太好用,鼠标移动过快会脱标,就很难受,最近又改了一下,这是加了个监听,拖动结束的时候改变top和left,应该还能改进,欢迎大佬们提出 ...

  3. h5可拖动悬浮按钮_手机端H5悬浮按钮怎么实现的呢?

    最近公司项目需要在H5页面上悬浮一个按钮,同时要求按钮是可以拖动的并且需要可以自动贴边,无奈前端小伙伴不怎么给力,无奈只能我顶上了.我觉得这种情况应该可以抽出一个组件,这次就仔细探讨一下悬浮按钮的实现 ...

  4. html5 可拖动悬浮按钮,前端vue开发:可移动的悬浮按钮的应用

    前端vue开发:可移动的悬浮按钮的应用. class="callback float" @click="onClick" @mousedown="do ...

  5. flutter初学之悬浮按钮

    期望:想实现一个悬浮在整个页面的悬浮按钮: 实现1(用FloatingActionButton实现): // 新增悬浮按钮 Widget _createFixedAddWidget(ProductEn ...

  6. h5可拖动悬浮按钮_仙剑客栈H5如何双开 2021最新双开神器来袭

    仙剑客栈H5怎么双开,这个问题我们之前有写过一篇在电脑上双开仙剑客栈H5的攻略,但是最近不少玩家告诉小编,在实际游戏的时候需求更大的是能不能在手机上完成双开,这里高手游鸟达人就给各位带来一款稳定的手机 ...

  7. h5可拖动悬浮按钮_weui 可移动悬浮按钮

    @CHARSET "UTF-8"; /** 右下角跳转按钮 跳转到列表 */ #list_note_icon { position: fixed; bottom: 10%; rig ...

  8. 微信小程序:实现可拖动悬浮图标(包括按钮角标的实现)

    微信小程序:实现可拖动悬浮图标 在制作商城类微信小程序的过程中,我们经常会碰到需要增加可拖动悬浮图标的情况,本文简单的介绍一下可拖动悬浮按钮的实现. 运行截图: 主要代码: js: var start ...

  9. 返回按钮悬浮(类似手机的悬浮按钮)

    效果图 (可以进行随意拖动悬浮按钮) 废话不多说,看代码 <div id="container" style="height: 100px;">&l ...

  10. flutter 拖拽布局_使用Flutter模仿SOUL可任意拖动的悬浮按钮

    在Flutter中,我们可以两种方式实现小部件对拖动效果 GestureDetector() Draggable() GestureDetector 在开发过程中经常使用到GestureDetecto ...

最新文章

  1. Plugin with id 'com.novoda.bintray-release' not found.的解决方案
  2. LeetCode | Linked List Cycle
  3. 深入了解webservice_概念总结
  4. prometheus接入mysqld_exporter
  5. HC-05蓝牙模块基本使用
  6. HQ-day2 C#语言基础
  7. 实现mysql百度式查询_mysql查询优化建议(百度)
  8. java接口方法实现_Java接口的简单定义与实现方法示例
  9. Kali Linux 安全渗透教程lt;第三更gt;1.2 安全渗透所需工具
  10. 日志分析工具Awstats实战之Apache篇-多站点日志分析
  11. python和java哪个好学-Java和Python去学哪个好
  12. 五分钟快速了解EM算法
  13. linux命令 sync,linux sync命令详解
  14. 100个开源游戏-街机类、棋牌类、休闲益智类、教育类、音乐类、RPG和AVG、策略类开源游戏【转】...
  15. 在51cto开博补充篇_为何叫~静水流深~
  16. 从初级开发者到资深架构师,看这
  17. 人民邮电报丨智链助力北大荒大米实现区块链全生命周期追溯
  18. H3C网管型交换机、路由器 常用登录管理方式使用详解 及 默认端口号,默认用户名、密码
  19. 微软TTS语音引擎编程入门
  20. 力扣热门题目简单部分合集(共23道)

热门文章

  1. JS对象属性操作之定义属性篇
  2. 哈工大2022形式语言与自动机期末
  3. STM32电机TB6612驱动
  4. matlab单回路和串级控制回路,单回路和串级控制系统仿真研究
  5. TVM代码库结构概述
  6. 计算器算贝塞尔公式_我不是灯光设计师,但是我会算空间的平均照度
  7. 大学生安卓期末设计之本地音乐播放器
  8. 推荐五款你从未见过的嵌入式电子电路仿真APP
  9. ubuntu设置截屏热键(区域截屏)
  10. Java生成圆角图标