美文网首页Flutter
Flutter Widget - 手势处理(GestureDet

Flutter Widget - 手势处理(GestureDet

作者: ChenME | 来源:发表于2018-07-06 14:12 被阅读24次
    • 利用手势处理的类,可以处理多种交互操作,而且可以自定义 View,当需要一个UI比较的特别而且处理交互较多的 View 时,我觉得使用它是个不二的选择。
    • 废话不多说,直接看代码。
    // 调用自定义的 Button 
    Widget renderBody(BuildContext context) {
      return new Center(
        child: new MyButton(),
      );
    }
    
    class MyButton extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return new GestureDetector(
          onLongPress: null,  // 长按事件
          onTap: () {  // 单击事件
            Scaffold.of(context).showBottomSheet((BuildContext context) {
              return new Container(
                color: Color(0xffff639b),
                width: double.infinity,
                height: 100.0,
                child: new Center(
                  child: Text('I\'m Bottom Sheet'),
                ),
              );
            });
          },
          onDoubleTap: () {  // 双击事件
            Scaffold.of(context).showSnackBar(new SnackBar(content: new Text('I\'m Snack Bar')));
          },
          child: new Container(
            padding: new EdgeInsets.all(12.0),
            child: new Text('Custom Button'),
          ),
        );
      }
    }
    
    • 除了上述例子中用到的三种事件外,该类还具有以下事件(方法)
    child
    onTapDown
    onTapUp
    onTap
    onTapCancel
    onDoubleTap
    onLongPress
    onVerticalDragDown
    onVerticalDragStart
    onVerticalDragUpdate
    onVerticalDragEnd
    onVerticalDragCancel
    onHorizontalDragDown
    onHorizontalDragStart
    onHorizontalDragUpdate
    onHorizontalDragEnd
    onHorizontalDragCancel
    onPanDown
    onPanStart
    onPanUpdate
    onPanEnd
    onPanCancel
    onScaleStart
    onScaleUpdate
    onScaleEnd
    

    相关文章

      网友评论

        本文标题:Flutter Widget - 手势处理(GestureDet

        本文链接:https://www.haomeiwen.com/subject/kunvuftx.html