如何在可重用的类小部件中实现GestureDetector?

时间:2020-05-12 15:15:28

标签: flutter flutter-layout reusability code-reuse gesturedetector

我成功制作了一个可重用的有状态小部件并添加了文本,但不知道如何制作可重用的手势检测器

class HomeScreen extends StatefulWidget {
  final String collectionName;

  HomeScreen(this.collectionName);

  @override
  _HomeScreenState createState() => _HomeScreenState();
}

Text(widget.collectionName)

如何使用像 TEXT 这样的手势检测器?

2 个答案:

答案 0 :(得分:1)

我认为您想要做的是将GestureDetector添加到文本中,并通过HomeScreen传递函数。如果这就是您要寻找的,那么

class HomeScreen extends StatefulWidget {
  final String collectionName;
  final VoidCallBack onTap;

  HomeScreen(this.collectionName,this.onTap);

  @override
 _HomeScreenState createState() => _HomeScreenState();
}

您的“文本”小部件将更新为

GestureDetector(
  onTap:widget.onTap,
  child:Text(widget.collectionName)
);

答案 1 :(得分:0)

如何执行此操作的示例...

做到这一点。

Widget gestureDetectorforText(dynamic theText){
  return GestureDetector(
    onTap: your function here..
    child: Text(theText)
  );
 }

因此,使用该代码意味着您需要将widget.collectionName传递给它。.

因此,每当调用窗口小部件gestureDetector()

您可以像这样将widget.collection名称传递给它。

gesturedetector(widget.collectionName);