【问题标题】:How do I know the current swipe speed我如何知道当前的滑动速度
【发布时间】:2023-02-13 16:25:07
【问题描述】:

我有以下简单的代码

import 'package:flutter/material.dart';

class Test extends StatefulWidget {
  const Test({Key? key}) : super(key: key);

  @override
  State<Test> createState() => _TestState();
}

class _TestState extends State<Test> {

  late Offset offsetAll =  const Offset(0,0);
  
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: GestureDetector(
          onPanUpdate: (t){
            offsetAll+=t.delta;
            setState(() {});
          },
          child: Transform.translate(
            offset: offsetAll,
            child: Container(
              color: Colors.red,
              width: 100,
              height: 100,
            ),
          ),
        ),
      ),
    )
  }
}
)

前面的代码用于根据用户手指为小部件设置动画。它工作得很好

我的问题是我怎么知道用户手指的当前滑动速度

例如,如果用户刷卡慢..快..等...

我需要稍后使用该速度值......到以下

Future.delayed(const Duration(.....HERE....), () {
  
 });

这可能吗?

【问题讨论】:

  • onPanEnd回调以结束速度传递DragEndDetails

标签: flutter dart


【解决方案1】:

也许 this GestureDetector 类的子类可能对您有所帮助。它允许访问水平阻力的初级速度。像这样,

GestureDetector(
onHorizontalDragEnd: (dragEndDetails) {
     double t = dragEndDetails.primaryVelocity;
    },
),

【讨论】:

    猜你喜欢
    • 2010-10-25
    • 1970-01-01
    • 2019-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    相关资源
    最近更新 更多