所以在这个颤动的教程: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'。我该怎么做?
如果您只需要点击任何小部件,您可以用墨水池包装它。 https://docs.flutter.io/flutter/material/InkWell-class.html
您可以使用GestureDetector
widget为任何小部件(如容器,列,行,图标等)添加交互性。