原代码:
Widget buttonSection = Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
_buildButtonColumn(context, Icons.call, "Call"),
_buildButtonColumn(context, Icons.near_me, "Route"),
_buildButtonColumn(context, Icons.share, "Share"),
],
),
);
Column _buildButtonColumn(BuildContext context, IconData icon, String label) {
Color color = Theme.of(context).primaryColor;
return Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
//列布局
children: <Widget>[
Icon(
icon,
color: color,
),
Container(
margin: EdgeInsets.only(top: 8.0),
child: Text(
label,
style: TextStyle(
fontSize: 12.0,
fontWeight: FontWeight.w400,
color: color,
),
),
)
],
);
}
报异常:
Error: Can't access 'this' in a field initializer to read '_buildButtonColumn'.
更改后:
Widget getContainer() {
return Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
_buildButtonColumn(context, Icons.call, "Call"),
_buildButtonColumn(context, Icons.near_me, "Route"),
_buildButtonColumn(context, Icons.share, "Share"),
],
),
);
}