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

问题描述 投票:0回答:2

所以在这个颤动的教程:https://flutter.io/tutorials/interactive/

他们展示了如何构建布局并为一个按钮(最喜欢的按钮)添加交互性。

下面是一个buttonSection,其中包含三个用作按钮的图标。我的问题是,如何为这些图标添加交互性?我已经尝试在buttonColumn中放入一个FlatButton,如Widget buttonSection的Container的第一个子节点(具有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'。我该怎么做?

android android-studio dart flutter
2个回答
1
投票

如果您只需要点击任何小部件,您可以用墨水池包装它。 https://docs.flutter.io/flutter/material/InkWell-class.html


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.