Flutter 中Text 的点击事件

大家看Text的源码,是没有点击事件的,那么,如果想添加点击事件怎么写呢,来看我的。

1、首先把Text放在一个容器里。比如Container中,
2、在Container的child中new new GestureDetector() ,你会发现GestureDetector 就有一个属性onTap ,你可以在onTap中定义。
3、什么,你想把方法抽离出去,OK ,明白了,那就得这么写了。

class RightView extends StatelessWidget {
  String title;
  VoidCallback rightClick;

  RightView({this.title, this.rightClick});

  @override
  Widget build(BuildContext context) {
    var containView;
    if (title != Null) {
      containView = new Container(
        alignment: Alignment.center,
        padding: EdgeInsets.all(10.0),
        child: GestureDetector(
          child: Text(
            this.title,
            style: TextStyle(color: Colors.white, fontSize: 18.0),
          ),
          onTap: this.rightClick,
        ),
      );
    } else {
      containView = Text("");
    }
    return containView;
  }
}

那么,问题来了,怎么用呢。

new RightView(
  title: "数据",
  rightClick: () {
    print("点我干什么");
  },
);

就得这么处理。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐