美文网首页
Flutter bottom overflowed by 64

Flutter bottom overflowed by 64

作者: on_i_on | 来源:发表于2020-01-15 14:03 被阅读0次
Flutter 底部溢出或者Widget不显示
底部溢出

这里我们可以用到一个控件Expanded,Expanded是一个用展开Row、Column、或者Flex子控件的一个Widget,用于填充可用空间。相当于Linearlayout里面我们使用weight=1。
代码如下:

 @override
Widget build(BuildContext context) {
return Scaffold(
  appBar: AppBar(title: Text("${post.title}")),
  body: Column(
    children: <Widget>[
      Expanded(
        child: Image.network(
          post.imageUrl,
        ),
      ),
      Container(
        padding: EdgeInsets.all(32.0),
        width: double.infinity,
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: <Widget>[
            Text(
              "${post.title}",
              style: Theme.of(context).textTheme.title,
            ),
            Text(
              "${post.author}",
              style: Theme.of(context).textTheme.subtitle,
            ),
            SizedBox(
              height: 12.0,
            ),
            Text("${post.description}")
          ],
        ),
      ),
    ],
  ),
);
}

我把我的图片用Expanded包裹,得到效果如此下图:


使用Expanded之后

我们可以看一下Expanded的源码:

class Expanded extends Flexible {
/// Creates a widget that expands a child of a [Row], [Column], or [Flex]
/// so that the child fills the available space along the flex widget's
/// main axis.
const Expanded({
Key key,
int flex = 1,
@required Widget child,
}) : super(key: key, flex: flex, fit: FlexFit.tight, child: child);
}

我们发现Expanded 是继承Flexible ,所以刚才的代码改成Flexible 也能同样实现,flex属性用于控制自身在主轴上占据的空间比,默认值为1。

相关文章

网友评论

      本文标题:Flutter bottom overflowed by 64

      本文链接:https://www.haomeiwen.com/subject/lcktzctx.html