Flutter 实现 View 的移动拖拽

本文介绍了在Flutter中实现View拖拽的步骤,包括使用MaterialApp和Scaffold构建框架,自定义MyDragWidget,利用GestureDetector监听手势,通过Transform.translate移动Widget,并解决了使用margin或padding导致的问题。此外,还提到了在Flutter中寻找Widget实例的方法,为后续的动画特效做准备。
摘要由CSDN通过智能技术生成

您好,欢迎关注我的,本文章是关于 Flutter 的系列文,从简单的 Flutter 介绍开始,一步步带你了解进入 Flutter 的世界。你最好有一定的移动开发经验,如果没有也不要担心,在我的专栏底部给我留言,我会尽我的能力给你解答。

上一篇专栏,是教大家如何实现Flutter的主题。本专栏介绍在Flutter中如何拖拽View,并讲解会遇到的坑。

先来看效果:
在这里插入图片描述
第一步
在main方法中用MaterialApp和Scaffold作为应用主框架,这里我就不详细展开说明了,这样做主要是为了显示效果更好,你可以使用你熟悉的Widget控件完成。

void main() {
    runApp(MaterialApp(
        home: Scaffold(
            body: xxx
        )
    ));
}

第二步
自定义MyDragWidget类,集成StatefulWidget类,主要是为了获取手势坐标之后调用setState()方法刷新Widget的位置。

class MyDragWidget extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => MyDragState();
}

class MyDragState extends State<MyDragWi
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值