1.给 wiget 添加点击事件
前面的文章在 ListView 中已经添加过 item 点击处理,外层包裹 GestureDetector ,调用里面的 onTap() 方法。
添加点击事件有两种方法:
如果 widget 本身支持事件检测,比如 RaisedButton widget 里面有 onPressed 参数。
另一种是 widget 不支持事件检测,外层包裹 GestureDetector ,调用里面的 onTap() 方法。
第一种方法代码示例:
@override
Widget build(BuildContext context) {
return RaisedButton(
onPressed: (){
print("click");
},
child: Text("Button"),
);
}
第二种方法代码示例:
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: GestureDetector(
child: Text("点击"),
onTap: () {
print("被点击了");
},
),
));
}
2.给wiget添加其它手势
onTap 点击
onDoubleTap 双击
onTapDown 按下去
onTapUp 松开
onTapCancel 取消,触发了 onTapDown 没触发 onTap
onLongPress 长按
onVerticalFragStart 接触屏幕,可能垂直移动
onVerticalFragUpdata 垂直方向移动
onVerticalFragEnd 停止垂直方向移动
onHorizontalDragStart 接触屏幕,可能水平移动
onHorizontalDragUpdata 水平方向移动
onHorizontalDragEnd 停止水平方向移动