flutter - flutter 文本的宽度和高度与父项匹配

标签 flutter dart height width flutter-widget

我想实现设置文本的宽度和高度的父大小。这是我尝试过的但无法正常工作:

Container(
            height: double.infinity,
            child: Padding(
              padding: const EdgeInsets.only(left: 30, right: 30),
              child: Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                crossAxisAlignment: CrossAxisAlignment.center,
                children: <Widget>[
                  GestureDetector(
                      onTap: () {
                        _onPagerTabItemClicked(0);
                      },
                      child: Container(
                        width: double.infinity,
                        height: double.infinity,
                        child: Text("Günlük",
                            style: TextStyle(color: getTextColor(0))),
                      )),
                  GestureDetector(
                      onTap: () {
                        _onPagerTabItemClicked(0);
                      },
                      child: Container(
                        width: double.infinity,
                        height: double.infinity,
                        child: Text("Günlük",
                            style: TextStyle(color: getTextColor(0))),
                      )),
                  GestureDetector(
                      onTap: () {
                        _onPagerTabItemClicked(0);
                      },
                      child: Container(
                        width: double.infinity,
                        height: double.infinity,
                        child: Text("Günlük",
                            style: TextStyle(color: getTextColor(0))),
                      )),
                ],
              ),
            ),
          ),
在我使用上面的代码之后,文本的宽度和高度仍然是wrap_content。(我通过给文本赋予backgroundcolor进行了调查)。如何实现呢?

ps :in the code block that i share the container width and height is infinite so if i try to surround it with SizedBox.expand its not working.

最佳答案

您可以通过将Text小部件包装在FittedBox中并用fit: BoxFit.fill来实现,以使其占用所有可用空间。

Container(
    height: double.infinity,
    child: Padding(
      padding: const EdgeInsets.only(left: 30, right: 30),
      child: Row(
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: <Widget>[
          buildItem(Colors.red),
          buildItem(Colors.green),
          buildItem(Colors.blue),
        ],
      ),
    ),
  );

Widget buildItem(Color color) {
return Expanded(
  child: Container(
    height: double.infinity,
    color: color,
    child: FittedBox(
      fit: BoxFit.fill,
      alignment: Alignment.center,
      child: GestureDetector(
        onTap: (){},
        child: Text(
          "Günlük",
          textAlign: TextAlign.center,
          style: TextStyle(
            color: Colors.white,
          ),
        ),
      ),
    ),
  ),
);
Screenshot

关于flutter - flutter 文本的宽度和高度与父项匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63403113/

相关文章:

dart - 触发对HTML元素的点击(以 Dart 标记)

flutter - 如何限制 Bloc 内的事件?

jQuery:设置 css 最小高度时获取元素(或其子元素)的实际高度?

javascript - 如何找到div下方页面部分的高度?

Android Studio Flutter 无法编译到 iOS

flutter - 如何正确处理setState

flutter - ListBody中的空值

plugins - device_calendar 0.1.0 插件,用于日历访问的 flutter 限制权限

android - 在我的 flutter 谷歌地图应用程序上绘制带有折线的路线时如何缩小和动画相机

jquery - 页面加载 jQuery 后匹配 div 高度