首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据子元素改变Container的大小

如何根据子元素改变Container的大小
EN

Stack Overflow用户
提问于 2020-08-06 22:56:48
回答 1查看 35关注 0票数 0

我有一些ListView元素,其中有一个包含文本元素的列。事实上,文本总是有不同的大小,我需要添加: true和add Flexible to Container。事实上,一些文本元素非常短,因此这些元素之间有非常大的空格,但我不能减小Container的大小,否则大文本将无法容纳。如何让Container根据内部元素的大小来决定大小?约束: BoxConstraints( minHeight : 80,maxHeight: 180)完全忽略minHeight

代码语言:javascript
复制
                    ListView.builder(primary: false, shrinkWrap: true, itemCount: r[index]['rasp'].length, 
                    itemBuilder: (BuildContext cotext, ind){
                      return Container(
                      color: Colors.red,
                      constraints: BoxConstraints(
                        minHeight: 80,
                        maxHeight: 180,
                      ),
                        child: Row(
                          children: <Widget>[
                            Container(
                              child: Column(
                              mainAxisAlignment: MainAxisAlignment.start,
                              crossAxisAlignment: CrossAxisAlignment.start,
                                children: <Widget>[
                                  Text(r[index]['rasp'][ind]['time'].substring(0, 5), style: themes[0][current]["time_start"]),
                                  Text(r[index]['rasp'][ind]['time'].substring(8, 13), style: themes[0][current]["time_end"]),
                                ],
                              ),
                            ),
                            Flexible(
                              child: Container( // ЭТОТ
                                color: Colors.yellow, 
                                padding: EdgeInsets.only(left: 10),
                                child: Column(
                                  mainAxisAlignment: MainAxisAlignment.start,
                                  crossAxisAlignment: CrossAxisAlignment.start,
                                  children: <Widget>[
                                    Text(r[index]['rasp'][ind]['type'], style: pairType(r[index]['rasp'][ind]['type']),),
                                    Flexible(child: Text(r[index]['rasp'][ind]['predmet'], softWrap: true, style: themes[0][current]["pair_name"])),
                                    RichText(
                                      text: TextSpan(
                                        text: r[index]['rasp'][ind]['aud'],
                                        style: themes[0][current]["aud"],
                                        children: <TextSpan>[
                                          TextSpan(text: " - " + r[index]['rasp'][ind]['place'], style: themes[0][current]["place"]),
                                        ],
                                      ),
                                    ),
                                    Flexible(child: Text(r[index]['rasp'][ind]['prepod'], softWrap: true, style: themes[0][current]["teacher"])),
                                  ],
                                ),
                              ),
                            )
                          ],
                        ),
                      );
                    }
                    )

正如您在图片中看到的,为什么黄色容器会根据内部元素的大小改变其宽度。我也需要改变一下高度

image 1

EN

回答 1

Stack Overflow用户

发布于 2020-08-07 00:24:58

我通过添加mainAxisSize解决了这个问题: MainAxisSize.min

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63286327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档