Flutter 如何设置颤振文本最大长度值?
我正在使用颤振编程。我需要在标题旁边显示标题和按钮。如果文本长度较短,按钮也应显示在文本旁边。如果文本长度更大,我想将文本长度固定为最大200px,并需要显示标题旁边的按钮 我正在使用下面的代码。而且可以用更少的文本长度很好地工作 问题是:若文本长度更大,那个么我的按钮将移出屏幕。您可以在下面的附图中看到这种行为Flutter 如何设置颤振文本最大长度值?,flutter,flutter-layout,Flutter,Flutter Layout,我正在使用颤振编程。我需要在标题旁边显示标题和按钮。如果文本长度较短,按钮也应显示在文本旁边。如果文本长度更大,我想将文本长度固定为最大200px,并需要显示标题旁边的按钮 我正在使用下面的代码。而且可以用更少的文本长度很好地工作 问题是:若文本长度更大,那个么我的按钮将移出屏幕。您可以在下面的附图中看到这种行为 Row( children: <Widget>[ Container(
Row(
children: <Widget>[
Container(
child: RichText(
overflow: TextOverflow.ellipsis,
strutStyle: StrutStyle(fontSize: 12.0),
text: TextSpan(
style: TextStyle(color: Colors.white), text: model.title),
),
),
Text("My Button"),
],
)
行(
儿童:[
容器(
孩子:RichText(
溢出:TextOverflow.省略号,
strutStyle:strutStyle(字体大小:12.0),
text:TextSpan(
样式:text样式(颜色:Colors.white),文本:model.title),
),
),
文本(“我的按钮”),
],
)
您可以使用扩展的或为富格文本容器指定固定宽度,如使用扩展的小部件:-
Row(
children: <Widget>[
Expanded(
child: RichText(
overflow: TextOverflow.ellipsis,
strutStyle: StrutStyle(fontSize: 12.0),
text: TextSpan(
style: TextStyle(color: Colors.white), text: model.title),
),
),
Text("My Button"),
],
)
行(
儿童:[
扩大(
孩子:RichText(
溢出:TextOverflow.省略号,
strutStyle:strutStyle(字体大小:12.0),
text:TextSpan(
样式:text样式(颜色:Colors.white),文本:model.title),
),
),
文本(“我的按钮”),
],
)
我认为RichText
和Text
小部件没有maxLength
属性。如果您使用的是RichText
类,则可以使用maxLines
属性。我试图重新创建您的案例,并将RichText
小部件包装为Flexible
小部件,使子小部件仅使用最小的可用空间。但我无法复制你提到的错误。我使用的长文本会得到省略号
,而按钮
不会离开屏幕。请注意,我还使用了maxLines
属性,如果将该属性设置为2,将在不移动按钮的情况下将长文本换行,并且长文本将显示为省略号。工作代码示例如下:
body: Center(
child: Row(
children: <Widget>[
Container(
child: Flexible(
child: RichText(
maxLines: 2,
overflow: TextOverflow.ellipsis,
strutStyle: StrutStyle(fontSize: 12.0),
text: TextSpan(
style: TextStyle(color: Colors.white), text: 'I am using Flutter programming. I need to display a title and a button next to the title. If the text length is less button also should display next to the text. If text length is more i want to fix the text length as maximum 200px and need to show the button next to the title.'),
),
)
),
Text("My Button"),
],
)
)
主体:中心(
孩子:排(
儿童:[
容器(
儿童:灵活(
孩子:RichText(
maxLines:2,
溢出:TextOverflow.省略号,
strutStyle:strutStyle(字体大小:12.0),
text:TextSpan(
样式:TextStyle(颜色:Colors.white),text:“我正在使用flift编程。我需要在标题旁边显示标题和按钮。如果文本长度较短,则按钮也应显示在文本旁边。如果文本长度较长,则我希望将文本长度固定为最大200px,并需要在标题旁边显示按钮。”),
),
)
),
文本(“我的按钮”),
],
)
)
如果将maxLines
设置为1,则长文本将以省略号换行
希望这有帮助。您可以输入最大字符数
text.substring(0,150)
若我给容器指定了固定的大小,那个么当文本长度很小时,我的按钮就不靠近文本了。并且已经尝试过扩展,如果文本长度更大,则没有用。与我在问题附加图像中提到的问题相同。请尝试使用(textAlign:textAlign.right)将富格文本和换行文本(“我的按钮”)与Align小部件一起使用,并将(Align:alignment.centerLeft)赋予它。希望这将有助于解决您的问题problem@manpereet,谢谢你的回复。我已经解决了文本长度的问题。如果字符串长度超过16个字符,那么我将使用以“.”结尾的子字符串。所以最后,当显示它时,将显示16个字符+。。谢谢你的建议。我已经用substring解决了这个问题。如果字符串长度超过16个字符,那么我将使用以“.”结尾的子字符串。所以最后,当显示它时,将显示16个字符+。。对于长文本。感谢您的回复。我已经解决了子字符串的问题。如果字符串长度超过16个字符,那么我将使用以“.”结尾的子字符串。所以最后,当显示它时,将显示16个字符+。。对于长文本。