当FlatButton的文本溢出时,我尝试使用省略号。
它适用于普通的FlatButton,但不适用于FlatButton.icon。我希望得到一个解释。
void main() => runApp(Test());
class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
// bottomNavigationBar: BottomAppBar(child: widgetOk()),
bottomNavigationBar: BottomAppBar(child: widgetNotOk()),
),
);
}
}
Widget widgetOk() {
return Row(
children: <Widget>[
Flexible(
child: FlatButton(
child: Text('0123456789' * 10, overflow: TextOverflow.ellipsis),
onPressed: () {},
),
),
Flexible(
child: FlatButton(
child: Text('0123456789' * 10, overflow: TextOverflow.ellipsis),
onPressed: () {},
),
),
],
);
}
Widget widgetNotOk() {
return Row(
children: <Widget>[
Flexible(
child: FlatButton.icon(
icon: Icon(Icons.bug_report),
label: Text('0123456789' * 10, overflow: TextOverflow.ellipsis),
onPressed: () {},
),
),
Flexible(
child: FlatButton.icon(
icon: Icon(Icons.bug_report),
label: Text('0123456789' * 10, overflow: TextOverflow.ellipsis),
onPressed: () {},
),
),
],
);
}
答案 0 :(得分:1)
您可以将label
与Flexible
换行,以查看ellipsis
生效。
下面的工作代码:
Flexible(
child: FlatButton.icon(
icon: Icon(Icons.bug_report),
label: Flexible(
child: Text('0123456789' * 10, overflow: TextOverflow.ellipsis)),
onPressed: () {},
),
),
Flexible(
child: FlatButton.icon(
icon: Icon(Icons.bug_report),
label: Flexible(
child: Text('0123456789' * 10, overflow: TextOverflow.ellipsis),
),
onPressed: () {},
),
),