如何使具有灵活约束的Container的子项居中

问题描述 投票:1回答:1

我正在尝试构建类似于Messenger应用程序(例如Whatsapp)中使用的消息框的消息框。

[不尝试集中文本:

image

容器必须根据其包含的消息(字符串)的长度为高度和宽度都灵活

。>>

这是我的代码

Container(
         constraints: BoxConstraints(minHeight: 40,maxHeight: 200,maxWidth: 300,minWidth: 40),
         decoration: BoxDecoration(
           borderRadius:  BorderRadius.circular(40),
         ),
         child: Padding(
           padding: const EdgeInsets.fromLTRB(15,0,15,0),
           child: new Text(msg,maxLines: null,),
         ),
    )

但是,无论何时我尝试使文本(包括填充)小部件居中,都将Container限制为最大限制。这些是我尝试过的一些方法

  • 使用e Center小部件
  • 使用容器的alignment属性
  • 使用Column并使用mainAxisAlignment.center包裹子对象>
  • 所有这些方法的结果相同:

    image

    有什么方法可以使Text小部件居中并且不操纵框约束呢?

我正在尝试构建类似于Messenger应用(例如Whatsapp)中使用的消息框。在不试图集中Text的情况下,容器必须根据...

尝试一下:

Container(
  constraints: BoxConstraints(minHeight: 40, maxHeight: 200, maxWidth: 360, minWidth: 40),
  decoration: BoxDecoration(color: Colors.grey, borderRadius: BorderRadius.circular(40)),
  padding: const EdgeInsets.fromLTRB(15, 0, 15, 0),
  child: Column(
    mainAxisSize: MainAxisSize.min,
    mainAxisAlignment: MainAxisAlignment.center,
    children: <Widget>[
      Text("Very long message"),
    ],
  ),
);

enter image description here

flutter dart flutter-layout
1个回答
2
投票

尝试一下:

© www.soinside.com 2019 - 2024. All rights reserved.