【问题标题】:After flutter Upgrade Listtile leading content does not match parent anymore颤振升级后Listtile前导内容不再匹配父级
【发布时间】:2019-04-15 16:00:41
【问题描述】:

昨天做了flutter升级后,ListTile前导的内容(尤其是高度)不再匹配父级了。 我现在身高溢出了。宽度按预期工作。 正如您在图片中看到的,前导小部件下方仍有空间。 有谁知道如何解决这个问题?

或者有没有办法降级flutter版本?

  Widget _listTile(){
return ListTile(
  contentPadding: EdgeInsets.fromLTRB(3.0, 1.0, 0.0, 1.0),
  dense: true,

  leading: Column(
    children: <Widget>[
      _leadingButton(),
      _leadingProgress
    ],
  ),
  title: _textSubtitle(subtitle),
  subtitle: _textSubtitle(subtitle),

);

}

【问题讨论】:

    标签: dart flutter height


    【解决方案1】:

    我相信造成这种情况的变化是[这个][1]:https://github.com/flutter/flutter/commit/0e2eeb5a485aaccdab7007ad9b90fd8120e77983#diff-53f33273ae4e7462729c5f4b7394428b。如果您阅读代码,它会说它正在更新以遵守材料规范,这意味着对小部件大小的限制,因此很有可能它不会变回原来的样子。从技术上讲,您使用它的方式违反了材料规范。

    但与其尝试降级 Flutter,您可以简单地创建自己的小部件来做同样的事情 - 您不需要使用 ListTile。

    这样的事情可能会做:

    class MyListTile extends StatelessWidget {
      final Widget leading;
      final Widget title;
      final Widget subtitle;
      final EdgeInsets padding;
    
      MyListTile({@required this.leading, @required this.title, @required this.subtitle, this.padding});
    
      @override
      void build(BuildContext context) {
        return Padding(
          padding: padding ?? EdgeInsets.zero,
          child: Row(
            children: [
              leading,
              Expanded(
                child: Column(
                  mainAxisSize: MainAxisSize.min,
                  children: [
                    title,
                    subtitle,
                  ],
                ),
              ),
            ],
          ),
        );
      }
    }
    

    虽然完全披露 - 我没有运行该代码,甚至没有将其放入 IDE 中,因此它可能存在问题,但这应该说明您在那里尝试执行的基本操作。您可能希望根据需要将内容包装在 padding 中(很可能至少是前导小部件)以获得当前的间距。

    【讨论】:

    • 感谢您的信息。自定义的“MyListTile”做到了!或者只是复制并重命名整个 ListTile 类并更改链接中提到的行。
    猜你喜欢
    • 2019-07-22
    • 2023-02-02
    • 2021-06-17
    • 1970-01-01
    • 2022-08-05
    • 2021-07-13
    • 2019-10-08
    • 2021-11-01
    • 2021-06-06
    相关资源
    最近更新 更多