当前位置: 首页 > 知识库问答 >
问题:

如何使容器扩展到包含行的全部(动态)高度?

马业
2023-03-14

我试图制作一个可扩展的小部件(使用ExpansionTile),但我听说有时间让蓝色容器填满行的全部高度。文本的长度是动态的,所以“title”可能跨越几行(我用展开的代码包装了它)。

Widget build(BuildContext context) {
if (item.hasExtra())
  return Padding(
    padding: _insets,
    child: ClipRRect(
      borderRadius: BorderRadius.circular(10),
      child: Container(
        color: backgroundColor,
        child: ExpansionTile(
            leading: null,
            backgroundColor: UHColors.orange1,
            key: PageStorageKey<Item>(item),
            title: TitleRow(item: item),
class TitleRow extends StatelessWidget {
final Color textColor1 = UHColors.white1;

TitleRow({
  Key key,
  @required this.item,
}) : super(key: key);

final Item item;

@override
Widget build(BuildContext context) {
  return Row(
    crossAxisAlignment: CrossAxisAlignment.center,
    children: [
      FittedBox(
        child: Container(
          color: Colors.blue,
          child: Column(
            mainAxisSize: MainAxisSize.max,
            children: <Widget>[Text("This box")],
          ),
        ),
      ),
      Expanded(
        child: Padding(
          padding: const EdgeInsets.fromLTRB(15, 15, 15, 15),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: <Widget>[
              Text(item.type,
                  style: UHTextStyle.typetitle1(context)
                      .colorWith(UHColors.black1)),
              Text(item.title,
                  style: UHTextStyle.uhheader2(context).colorWith(textColor1))
            ],
          ),
        ),
      ),
    ],
  );
}
}

[1]: https://i.stack.imgur.com/llRp8.png

共有1个答案

隆兴修
2023-03-14

以下是如何做到这一点,这只是一个示例代码,让您开始,您可以参考它并相应地更新您的代码-

  IntrinsicHeight(
    child: Row(
      crossAxisAlignment: CrossAxisAlignment.stretch,
      children: [
        Container(
          width: 100.0,
          decoration: BoxDecoration(color: Colors.amber),
          child: Center(
            child: Text("Text"),
          ),
        ),
        SizedBox(width: 20.0),
        Flexible(
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              Text(root.title),
              Text(
                  "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ...",
                  style: TextStyle(),
                  softWrap: true,
                  maxLines: 3,),
            ],
          ),
        ),
      ],
    ),
  ),

这将按照您正在寻找的方式排列小部件,类似于这样-

 类似资料:
  • 问题内容: 有没有一种方法可以使div扩展到最大高度?我也有一个脚注。 这是网页: 网站已删除 。我要说的中间部分是白色div,中间内容具有CSS值: 所以是的,显然没有用。此外,所有父容器都有高度设置。 这是一般结构 问题答案: 您还记得在CSS中设置html和body标签的高度吗?通常,这就是我让DIV扩展到最大高度的方式:

  • 我正在使用flexbox布局将三个div定位在一列中,以便每个div具有相同的高度。如果每个div的内容太大,则会显示滚动条。我希望每一节只扩展到其内容的高度,但目前发生的情况是,每一节总是相同的高度,而不管其中的内容如何。 如果容器是900px,则每个节应该是300px,如果一个节的内容超过300px高,则应该出现滚动条。但是,如果lets的内容说中间的部分只有100px高,那部分应该只有100

  • 问题内容: 我有这些嵌套的div,我需要主容器扩展(在高度上)以容纳内部的DIV CSS是这样的: 我的问题是无法拉伸以容纳所有内部div,结果它们一直在后台运行。 考虑到以上情况,如何解决此问题? 问题答案: 您需要在div关闭之前强制输入a 。我可能会将其移入div并将CSS设置为: 更新: 这个问题仍然有相当多的流量,所以我想使用CSS3中称为“弹性框”或“弹性框”的新布局模式,以一种现代的

  • 问题内容: 可在https://hub.docker.com/r/tensorflow/tensorflow/上使用tensorflow docker容器,以使用其他库扩展此容器,例如我知道两个选项。 运行容器并运行 附加到构建此容器的 还有其他选择吗?类似于从dockerFile 创建容器,然后在该容器上安装。 阅读如何扩展现有的docker映像为此,创建具有这些内容的dockerFile?:

  • 我需要建立一个面板,它包含2个内部面板,从左到右排序,有固定的高度和不同的宽度。宽度扩展,或者换句话说,x填充量取决于父容器的宽度。场景是,直到父容器的某个宽度,我只希望右面板填充它所需的水平空间,从该宽度到更大的宽度,只希望左面板展开,依此类推。 我尝试了两种方法--切换两个子面板的,或者使用并类似地删除子面板,然后将它们与展开组件的相应或(或west)重新添加。此切换将在计算结果宽度间隔时进行

  • 扩展说明 服务容器扩展,用于自定义加载内容。 扩展接口 org.apache.dubbo.container.Container 扩展配置 java org.apache.dubbo.container.Main spring jetty log4j 已知扩展 org.apache.dubbo.container.spring.SpringContainer org.apache.dubbo.c