繁体   English   中英

在Flutter升级后,Listtile领先内容不再与父级匹配

[英]After flutter Upgrade Listtile leading content does not match parent anymore

在昨天进行了扑动升级后,ListTile的内容(特别是高度)不再与父级匹配。 我现在身高已经过了。 宽度按预期工作。 正如您在图片中看到的那样,主要小部件下方仍有空间。 有谁知道如何解决这一问题?

或者有没有办法降低颤振版本?

  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),

);

}

在此输入图像描述

我相信造成这种情况的变化是[这一个] [1]: https//github.com/flutter/flutter/commit/0e2eeb5a485aaccdab7007ad9b90fd8120e77983#diff-53f33273ae4e7462729c5f4b7394428b 如果您阅读代码,它表示它正在进行更新以遵守材料规范,这意味着对窗口小部件大小的约束,因此很有可能它不会改变回原理。 你如何使用它在技术上违背了材料规范。

但是,您可以简单地创建自己的窗口小部件,而不是尝试降级颤振,而不需要使用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中,所以它可能有问题,但这应该说明你在那里尝试做什么的基础知识。 您可能希望根据需要将内容填充到填充(最可能至少是前导小部件)以获得当前的间距。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM