Flutter 点击事件浅析

Flutter 点击事件研究一下下,先看代码:

 _onClick(){
  }
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Container(
      child: GestureDetector(
        onTap: _onClick,//写入方法名称就可以了,但是是无参的
        child: Text("dianji"),
      ),
    );
  }

现在我们看看GestureDetector 类,的onTap 是什么?

  final GestureTapCallback onTap;//手势点击事件对象
   typedef GestureTapCallback = void Function();//声明无参数无返回值的函数

从这里我们可看出来是一个函数。
既然知道是个函数,那我们该如何使用呢:

class tesState extends State<test>{

//menu 函数声明
  _onTap(int postion){
    print(postion);
  }
  @override
  
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return menu('menu',_onTap);//_onTap menu 点击事件
  }
}


//声明参数为int,无返回值的callback函数 MenuCallBack
typedef MenuCallBack = void Function(int position);

class menu extends StatelessWidget{

  var title;
  MenuCallBack onTap; //声明函数对象
  menu(this.title,this.onTap);

//手势函数声明
  _onClick(){

    onTap(1); //调用函数对象,参数为1
  }

  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Container(
      child: GestureDetector(
        onTap: _onClick,//手势函数名
        child: Text("$title"),
      ),
    );
  }
}

以上我们就可轻松的使用了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,239评论 25 709
  • Content: Flutter框架概况发展概述发展历史框架特性框架结构 快速入门安装Flutter在Mac OS...
    EchoZuo阅读 11,560评论 3 54
  • 文图/姜玉强 我喜欢用手机拍照,用手机拍照的好处有两个: 1.方便,见到喜欢的景色随时可以拍。 2.修改方便。 我...
    江南信6985阅读 4,695评论 0 0
  • 矢浪先生对咨询者特别真诚,他说:不管是骚扰还是恶作剧,写这些信给矢浪杂货店的人,和普通的咨询者在本质上是一样的,他...
    刘小麦同学阅读 3,332评论 0 1

友情链接更多精彩内容