Flutter 布局参考手册:SizedBox组件

2019-06-1517:16:59APP与小程序开发Comments6,876 views字数 812阅读模式

SizedBox

这是最简单但是最有用的部件文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13677.html

用作 ConstrainedBox 的 SizedBox

SizedBox 可以实现和 ConstrainedBox 相似的效果文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13677.html

Flutter 布局参考手册:SizedBox组件
SizedBox.expand(
  child: Card(
    child: Text('Hello World!'),
    color: Colors.yellowAccent,
  ),
),
复制代码

用作内边距的 SizedBox

如果你需要添加内边距或者外边距,你可以选择 Padding 或者 Container 部件。但是它们都不如添加 Sizedbox 简单易读文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13677.html

Flutter 布局参考手册:SizedBox组件
Column(
  children: <Widget>[
    Icon(Icons.star, size: 50),
    const SizedBox(height: 100),
    Icon(Icons.star, size: 50),
    Icon(Icons.star, size: 50),
  ],
),
复制代码

用作不可见对象的 SizedBox

很多时候你希望通过一个布尔值(bool)来控制组件的显示和隐藏文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13677.html

Flutter 布局参考手册:SizedBox组件
Flutter 布局参考手册:SizedBox组件
Widget build(BuildContext context) {
  bool isVisible = ...
  return Scaffold(
    appBar: AppBar(
      title: Text('isVisible = $isVisible'),
    ),
    body: isVisible 
      ? Icon(Icons.star, size: 150) 
      : const SizedBox(),
  );
}
复制代码

由于 SizedBox 有一个 const 构造函数,使用 const SizedBox() 就变得非常简单。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13677.html

更简单的解决方案是使用 Opacity 部件,然后将 opacity 的值改成 0.0。这个方案的缺点是虽然组件不可见,但是它依旧占据空间。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13677.html

作者:Yuqi
链接:https://juejin.im/post/5cfe0d136fb9a07efc497d7d
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13677.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13677.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/xcx/13677.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定