如何在Flutter上的buttonColumn中添加交互性?

时间:2018-09-19 01:50:33

标签: android android-studio dart flutter

因此在本教程中,https://flutter.io/tutorials/interactive/

他们展示了如何构建一个布局并增加一个按钮(收藏夹按钮)的交互性。

在下面,有一个buttonSection,其中包含三个应为按钮的图标。我的问题是,如何为这些图标添加交互性?我尝试将一个FlatButton放在buttonColumn内,如Widget的(带有launch()=> tel的那个)的所示:

Column buildButtonColumn(IconData icon, String label) {
  Color color = Colors.black;

  return Column(
    mainAxisSize: MainAxisSize.min,
    mainAxisAlignment: MainAxisAlignment.center,
    children: [
      Icon(icon, color: color),
      Container(
        margin: const EdgeInsets.only(top: 8.0),
        child: Text(
          label,
          style: TextStyle(
            fontSize: 12.0,
            fontWeight: FontWeight.w400,
            color: color,
          ),
        ),
      ),
    ],
  );
}    

Widget buttonSection = Container(
  child: Row(
    mainAxisAlignment: MainAxisAlignment.spaceEvenly,
    children: [
      buildButtonColumn(FlatButton
        (onPressed: launch() => ("tel://09069262647"),),
      buildButtonColumn(Icons.near_me, 'ROUTE'),
      buildButtonColumn(Icons.fastfood, 'MENU'),
    ],
  ),
);

但是,这给我一个错误消息,“无法将参数'FlatButton分配给参数类型'IconData'。我该怎么做?

2 个答案:

答案 0 :(得分:1)

如果您只需要轻按一下任何小部件,则可以用墨水瓶包装。 https://docs.flutter.io/flutter/material/InkWell-class.html

答案 1 :(得分:0)

您可以使用GestureDetector widget向任何小部件(例如容器,列,行,图标等)添加交互性。