flutter - 有没有更好的方法来检查#flutter 中的左/右拖动?

有没有更好的方法来检查#flutter 中的左/右拖动。我已经做到了,但有时它会起作用,有时却不起作用。

  new GestureDetector(
  onHorizontalDragEnd: (DragEndDetails details) {
      print("Drag Left - AddValue");

    setState((){
      _value++;
    });
    if (details.velocity.pixelsPerSecond.dx > -1000.0) {
      print("Drag Right - SubValue");

      setState((){
        _value--;
      });
    }
  },
  child: new Container(
    child:new Text("$_value"),
  ),
);

最佳答案

我会为此使用 Dismissible 小部件。它非常可配置。

注意:如果您不想在滑动时提供视觉反馈,您可以使用 Stack 将透明的 Dismissible 放在另一个小部件之上。

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      home: new MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  State createState() => new MyHomePageState();
}

class MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      body: new Dismissible(
        resizeDuration: null,
        onDismissed: (DismissDirection direction) {
          setState(() {
            _counter += direction == DismissDirection.endToStart ? 1 : -1;
          });
        },
        key: new ValueKey(_counter),
        child: new Center(
          child: new Text(
            '$_counter',
            style: Theme.of(context).textTheme.display4,
          ),
        ),
      ),
    );
  }
}

https://stackoverflow.com/questions/46528447/

相关文章:

firebase - 如何从 Flutter 中的 UploadTaskSnapshot 获取完整的

flutter - 如何在 flutter 中完成当前 View /事件?

flutter - 在 Flutter 中使用 Google 登录的错误 403 受限客户端

flutter - 在 ListTile 中放置两个尾随图标

flutter - 如何在终端中打印带有 concat 两个字符串的消息?

flutter - 无状态和有状态小部件有什么区别?

Flutter:多语言应用程序 - 如何覆盖语言环境?

dart - Flutter:我可以将参数传递给按钮上的 onPress 事件中定义的函数吗?

mobile - 有没有其他方法可以改变脚手架抽屉的宽度?

dart - 自动调用 ListView 上的按钮的 Flutter onPressed(当它变得可