我需要在下面的图标上插入onpressed()函数(导航器推至其他页面):
Column buildButtonColumn(IconData icon, String label) {
Color color = Theme.of(context).primaryColor;
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(Icons.call, 'CALL'),
buildButtonColumn(Icons.near_me, 'ROUTE'),
buildButtonColumn(Icons.share, 'SHARE'),
],
),
);
Run Code Online (Sandbox Code Playgroud)
您可以IconButton为此使用小部件。
IconButton(
icon: Icon(Icons.info),
onPressed: (){
// Do something
},
)
Run Code Online (Sandbox Code Playgroud)
你们可以利用 GestureDetector
GestureDetector(
onTap: () {
//Do something
},
child: icon: Icon(Icons.info),
)
Run Code Online (Sandbox Code Playgroud)
编辑:
对下面粘贴的代码进行一些修改。通过以下方式更改buildButtonColumn:
buildButtonColumn(icon, label, onTap) {
Color color = Theme.of(context).primaryColor;
return GestureDetector(
onTap: onTap,
child: 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,
),
),
),
],
),
);
}
Run Code Online (Sandbox Code Playgroud)
对于按钮部分,使用它。
Widget buttonSection = Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
buildButtonColumn(Icons.call, 'CALL', (){
print('call');
}),
buildButtonColumn(Icons.near_me, 'ROUTE', (){
print('route');
}),
buildButtonColumn(Icons.share, 'SHARE', (){
print('share');
}),
],
),
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6924 次 |
| 最近记录: |