You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

手势结束后将小部件动画回原始位置

以下是一个示例代码,展示了如何在手势结束后将小部件动画回原始位置。

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Gesture Animation',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: GestureAnimation(),
    );
  }
}

class GestureAnimation extends StatefulWidget {
  @override
  _GestureAnimationState createState() => _GestureAnimationState();
}

class _GestureAnimationState extends State<GestureAnimation>
    with SingleTickerProviderStateMixin {
  AnimationController _controller;
  Animation<Offset> _animation;
  Offset _startOffset;
  Offset _endOffset;

  @override
  void initState() {
    super.initState();
    _controller = AnimationController(
      vsync: this,
      duration: Duration(milliseconds: 500),
    );
    _animation = Tween<Offset>(
      begin: Offset.zero,
      end: Offset(0.0, 1.0),
    ).animate(CurvedAnimation(
      parent: _controller,
      curve: Curves.easeInOut,
    ));
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

  void _onPanStart(DragStartDetails details) {
    _startOffset = details.globalPosition;
  }

  void _onPanUpdate(DragUpdateDetails details) {
    setState(() {
      _endOffset = details.globalPosition - _startOffset;
    });
  }

  void _onPanEnd(DragEndDetails details) {
    if (_endOffset.dy > 50) {
      _controller.forward();
    } else {
      _controller.reverse();
    }
    _endOffset = null;
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Gesture Animation'),
      ),
      body: GestureDetector(
        onPanStart: _onPanStart,
        onPanUpdate: _onPanUpdate,
        onPanEnd: _onPanEnd,
        child: SlideTransition(
          position: _animation,
          child: Center(
            child: Container(
              width: 200,
              height: 200,
              color: Colors.blue,
              child: Center(
                child: Text(
                  'Drag me',
                  style: TextStyle(
                    color: Colors.white,
                    fontSize: 20,
                  ),
                ),
              ),
            ),
          ),
        ),
      ),
    );
  }
}

在上面的代码中,我们创建了一个GestureAnimation小部件,它包裹了一个可以拖动的小部件。当手势开始时,我们记录下起始位置,当手势更新时,我们根据位置的变化来更新小部件的位置。当手势结束时,我们根据结束时的位置来决定是否要播放动画。如果结束位置的垂直方向上的偏移大于50,我们调用_controller.forward()来播放动画,否则调用_controller.reverse()来反向播放动画。动画会将小部件从当前位置移动到原始位置,即起始位置为(0,0)的位置。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

MAD,现代安卓开发技术:Android 领域开发方式的重大变革|社区征文

可让更轻松地创建和预览和调试动画。`Layout Inspector` 则可以查看某进程某画面的详细布局,完整展示 View 树的各项属性。在不方便代码调试或剖析其他 App 的情况下非常好用。**同时已经支持直接检查 Compose 编... 强制执行垃圾收以及跟踪内存分配以定位**内存方面的问题*** Battery:会监控 CPU、网络无线装置和 GPS 传感器的使用情况,并直观地显示其中每个组件消耗的电量,了解应用在**哪里耗用了不必要的电量*** Netwo...

2022技术盘点之平台云原生架构演进之道|社区征文

原始的Spring Cloud全家桶的微服务架构,经过不断发展,也在演进为基础设施下沉的云原生架构,让应用生于云,长于云,充分利用云上能力,降本增效,削减技术债务,专注业务创新。下图为SmartOps架构全景:![](https://k... 梳理平台架构存在安全风险的的部件,以及敏感数据的流向,帮助全员建立安全模型,快速定位安全问题,及提升团队安全意识;- 第二阶段:安全扫描(DevOps集成安全),扫描阶段评估代码以确保其安全且没有安全漏洞。此处包括...

基于深度学习的工业缺陷检测详解——从0到1|社区征文

因为工业领域的零部件瑕疵都很微小,所以常规的目标检测标注不太适用。![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/0b04ce39cd27416db5f9576f2b96be64~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1716135659&x-signature=LwEX2LLlk7EoRpMsF0kQwV3%2Fwmg%3D)这里使用的标注工具为Labelimg,标注之后就得到记录每一张图片中每一个目标的类别和矩形框坐标位置的标注文件,下图...

工业大数据分析与应用——知识总结 | 社区征文

* 存储虚拟化是将所有的物理存储设备整合到一起结成一个大的存储池,而提供给计算机系统,是一个逻辑层面的接口。 * 不需要关心数据真正存放位置,只需要通过**逻辑接口**进行读写操作* **网络虚拟化**(指虚拟... 节点数一般小于64* 分布存储结构 * 不同CPU具有各自的主存 * 分离的地址空间 * 规模可扩展性较好* 层次结构 * 每个节点内共享主存,节点间不共享主存 * 规模可扩展性较好> 并行计算与分布式计算...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

手势结束后将小部件动画回原始位置-优选内容

手势识别
参数说明 参数名 参数类型 参数说明 handle bef_effect_handler_t 创建的手势检测句柄 config unsigned int 手势检测算法的配置,目前无用 返值 成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_ef... 初始框的放大比列 BEF_HAND_NARUTO_GESTURE = 12, // 设置支持火影忍者手势,默认为false,如果开启,则支持包括火影在内的45类手势识别} bef_ai_hand_param_type;返回值 成功返回 BEF_RESULT_SUC, 失...
MAD,现代安卓开发技术:Android 领域开发方式的重大变革|社区征文
可让更轻松地创建和预览和调试动画。`Layout Inspector` 则可以查看某进程某画面的详细布局,完整展示 View 树的各项属性。在不方便代码调试或剖析其他 App 的情况下非常好用。**同时已经支持直接检查 Compose 编... 强制执行垃圾收以及跟踪内存分配以定位**内存方面的问题*** Battery:会监控 CPU、网络无线装置和 GPS 传感器的使用情况,并直观地显示其中每个组件消耗的电量,了解应用在**哪里耗用了不必要的电量*** Netwo...
集成 Web 观播 SDK
覆盖组件组件元素的样式。 调试效果。您可以选择以下任一调试方法: 本地调试:在本地 localhost:8080 端口进行调试,但此种调试方法无法播放预告和放。有关本地调试方法,详见 Demo 体验集成示例。 线上调试:建议... 指定模块需要渲染的位置和大小。 mode String 是 不适用 模块名称。取值固定为 player,即播放器模块。PC 端建议最小宽度为 640 px。 SDK 初始化(直播间)与非播放器相关参数名称 类型 是否必选 默认值 描...
2022技术盘点之平台云原生架构演进之道|社区征文
原始的Spring Cloud全家桶的微服务架构,经过不断发展,也在演进为基础设施下沉的云原生架构,让应用生于云,长于云,充分利用云上能力,降本增效,削减技术债务,专注业务创新。下图为SmartOps架构全景:![](https://k... 梳理平台架构存在安全风险的的部件,以及敏感数据的流向,帮助全员建立安全模型,快速定位安全问题,及提升团队安全意识;- 第二阶段:安全扫描(DevOps集成安全),扫描阶段评估代码以确保其安全且没有安全漏洞。此处包括...

手势结束后将小部件动画回原始位置-相关内容

基于深度学习的工业缺陷检测详解——从0到1|社区征文

因为工业领域的零部件瑕疵都很微小,所以常规的目标检测标注不太适用。![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/0b04ce39cd27416db5f9576f2b96be64~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1716135659&x-signature=LwEX2LLlk7EoRpMsF0kQwV3%2Fwmg%3D)这里使用的标注工具为Labelimg,标注之后就得到记录每一张图片中每一个目标的类别和矩形框坐标位置的标注文件,下图...

API 详情

设置手势缩放拖拽。 传入参数 参数名 类型 说明 zoomOperation ZoomOperation 手势缩放拖拽,参见 ZoomOperation。 setEditTypejava public abstract void com.ss.video.byteboard.WhiteBoard.setEditType(WhiteBo... 传入参数 参数名 类型 说明 url String 图片的 url imagePosition Rect 图片的位置,单位为画布宽度的万分之一。选填。默认居中放置,如果图片尺寸比白板页面小,不缩放;如果图片尺寸比白板页面大,按原始尺寸的比例缩...

API 详情

设置手势缩放拖拽。 传入参数 参数名 类型 说明 zoomOperation ByteWhiteBoardZoomOperation * 手势缩放拖拽,参见 ByteWhiteBoardZoomOperation setPenSize:objectivec - (void)setPenSize:(NSInteger)size;设置画... 位置信息 ByteWhiteBoardImageRect,如果传递空值则默认居中处理 block void(^)(ByteWhiteBoardAddImage) 接收添加图片结果调。详见 ByteWhiteBoardAddImage。 addVideo:title:completionHandler:objectivec - (...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

Android(v4.1.0.0及以上)

可将这些也拷贝到自己项目中。 使用阶段以特效SDK为例,特效SDK 的统一封装接口为 EffectManager,SDK 的使用可以分为三个阶段: 初始化 特效SDK 使用 特效SDK 进行图像处理 特效SDK 参数设置,如设置美颜、贴纸、滤镜... 补充说明:如果推流SDK默认接收的输入纹理是原始带有旋转角度的纹理,为了适配推流SDK,可以参考调用如下代码,将特效SDK输出的纹理转回原始的角度。 ImageUtil.Transition transition = new ImageUtil.Trans...

工业大数据分析与应用——知识总结 | 社区征文

* 存储虚拟化是将所有的物理存储设备整合到一起结成一个大的存储池,而提供给计算机系统,是一个逻辑层面的接口。 * 不需要关心数据真正存放位置,只需要通过**逻辑接口**进行读写操作* **网络虚拟化**(指虚拟... 节点数一般小于64* 分布存储结构 * 不同CPU具有各自的主存 * 分离的地址空间 * 规模可扩展性较好* 层次结构 * 每个节点内共享主存,节点间不共享主存 * 规模可扩展性较好> 并行计算与分布式计算...

人工智能发展六大洞察 | 社区征文

`70%` 的企业将在物联网边缘运行不同级别的数据处理。端侧的发展同样会迎来黄金契机,端智能自身具有高实时、低时延、强隐私,近几年有着飞速的发展,广泛应用于人脸识别、手势识别、图像搜索、互动游戏等。虽然端智... 机器学习的发展和对脑研究的深入将为神经拟态芯片的进一步发展带来更多可能性。### 部署位置`AI` 芯片可以部署在云端、边缘侧和终端侧。云端是数据和大型算力中心,承担海量数据处理和大规模计算的载体,云端 `A...

类型详情

导出 ZoomOperation 类型:interface 手势缩放拖拽配置信息 enableTouchZoom 类型:boolean undefined 是否允许双指缩放,双指移动,默认 true enableWheelZoom 类型:boolean undefined 是否允许鼠标滚轮缩放,... 坐标范围 0-10000 left 类型:number undefined 放置位置,水平方向偏移量,坐标范围 0-10000 width 类型:number undefined 宽度。[1, 10000]。单位为画布宽度的万分之一。 height 类型:number undefined...

2023 平台云原生探索与实践|社区征文

### 2.2.3 非业务组件维护成本高SmartOps 在进行微服务拆分前期架构使用 Spring Cloud Consul 服务注册发现方式,使用 Spring Cloud Config 配置中心方式,服务注册发现需要独立在不同环境维护多个 Consul,在生产环... 在原始 CI/CD 流程中缺乏安全方面全场景检测,在代码、镜像、环境配置等场景均存在各类安全风险,因此必须实行安全左移。![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/b0dd...

AI实时服务案例分享-客服故障检测 | 社区征文

判断模式串是否出现在待匹配主串中以及出现的位置和次数。该算法的实现,首先基于模式串构造Trie字典树,作为AC自动机的搜索数据结构;然后构造fail失配指针,使当前字符失配时跳转到具有最长公共前后缀的字符继续匹配... 有了更多数据后可以提升效果、增强模型泛化能力、提高鲁棒性等。根据生成样本的多样性程度,将DA方法分为了以下三种:改写(Paraphrasing):对句子中的词、短语、句子结构做一些更改,保留原始的语义;增加噪音(Noising)...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询