gpt4 book ai didi

flutter - 如何将文本小部件放置在具有最大宽度的容器的水平端,而不展开它

转载 作者:IT王子 更新时间:2023-10-29 06:59:38 25 4
gpt4 key购买 nike

我有一个卡片小部件,它包装了一个给定最大宽度的容器小部件,这就是它的样子:

enter image description here

这是下面的代码:

Card(
child: Container(
constraints: new BoxConstraints(
maxWidth: 250.0,
),
margin: EdgeInsets.symmetric(horizontal: 10.0, vertical: 10.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[

new Flexible(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[

new Container(
margin: const EdgeInsets.only(top: 5.0),
child: new Text(messageSnapshot.inbox),
),




],
),
),
],
),
))

当我尝试在其下创建另一个文本小部件时出现问题,我特别想移动到第一个文本下方的最右边,这就是我得到的:

enter image description here

我添加的第二个文本小部件会扩展,达到我想要的最末端,但也会将卡片扩展到我设置的最大宽度。这是它的代码:

Card(
child: Container(
constraints: new BoxConstraints(
maxWidth: 250.0,
),
margin: EdgeInsets.symmetric(horizontal: 10.0, vertical: 10.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[

new Flexible(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[

new Container(
margin: const EdgeInsets.only(top: 5.0),
child: new Text(messageSnapshot.inbox),
),


Row(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
Text("3:18am")
],
)

],
),
),
],
),
))

但这就是我想要的

enter image description here

日期位于容器空间末尾的水平位置,初始文本创建时未展开。

我该如何解决这个问题?

最佳答案

Flexible 小部件内的元素包装在 IntrinsicWidth 小部件内。这将使 Column 中的所有子元素具有相同的宽度。然后,在第二个元素的 Row 中添加一个 MainAxisSize.max 属性,这样它将模仿第一个元素的宽度并服从 MainAxisAlign.end 以您想要的方式拥有属性(property)。

new Flexible(
child: new IntrinsicWidth(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
new Container(
margin: const EdgeInsets.only(top: 5.0),
child: new Text(
messageSnapshot.inbox,
),
),
Row(
mainAxisAlignment: MainAxisAlignment.end,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Text(
"3:18am",
),
],
)
],
),
),
),

关于flutter - 如何将文本小部件放置在具有最大宽度的容器的水平端,而不展开它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53272398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com