我正在尝试创建一条中心文本具有最大大小的行,如果文本内容太大,则它适合大小。
我插入TextOverflow.ellipsis属性以缩短文本并插入三点...,但它不起作用。
TextOverflow.ellipsis
...
主要.dart
import 'package:flutter/material.dart'; void main() { runApp(new MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return new MaterialApp( home: new HomePage(), ); } } class HomePage extends StatelessWidget { @override Widget build(BuildContext context) => new Scaffold( appBar: new AppBar( backgroundColor: new Color(0xFF26C6DA), ), body: new ListView ( children: <Widget>[ new Card( child: new Container( padding: new EdgeInsets.symmetric(horizontal: 16.0, vertical: 18.0), child: new Row( children: <Widget>[ new Container( padding: new EdgeInsets.only(right: 24.0), child: new CircleAvatar( backgroundColor: new Color(0xFFF5F5F5), radius: 16.0, ) ), new Container( padding: new EdgeInsets.only(right: 13.0), child: new Text( 'Text lar...', overflow: TextOverflow.ellipsis, style: new TextStyle( fontSize: 13.0, fontFamily: 'Roboto', color: new Color(0xFF212121), fontWeight: FontWeight.bold, ), ), ), new Container( child: new Column( crossAxisAlignment: CrossAxisAlignment.end, children: <Widget>[ new Row( children: <Widget>[ new Text( 'Bill ', style: new TextStyle( fontSize: 12.0, fontFamily: 'Roboto', color: new Color(0xFF9E9E9E) ), ), new Text( '\$ -999.999.999,95', style: new TextStyle( fontSize: 14.0, fontFamily: 'Roboto', color: new Color(0xFF212121) ), ), ], ), new Row( children: <Widget>[ new Text( 'Limit ', style: new TextStyle( fontSize: 12.0, fontFamily: 'Roboto', color: new Color(0xFF9E9E9E) ), ), new Text( 'R\$ 900.000.000,95', style: new TextStyle( fontSize: 14.0, fontFamily: 'Roboto', color: new Color(0xFF9E9E9E) ), ), ], ), ] ) ) ], ), ) ), ] ) ); }
结果:
预期的:
你应该把你Container的 a包裹起来Flexible,让你Row知道Container可以比它的内在宽度窄。Expanded也将工作。
Container
Flexible
Row
Expanded
Flexible( child: new Container( padding: new EdgeInsets.only(right: 13.0), child: new Text( 'Text largeeeeeeeeeeeeeeeeeeeeeee', overflow: TextOverflow.ellipsis, style: new TextStyle( fontSize: 13.0, fontFamily: 'Roboto', color: new Color(0xFF212121), fontWeight: FontWeight.bold, ), ), ), ),