美文网首页Flutter教学
Flutter(48):Layout组件之FittedBox

Flutter(48):Layout组件之FittedBox

作者: starryxp | 来源:发表于2020-10-12 10:43 被阅读0次

    Flutter教学目录持续更新中

    Github源代码持续更新中

    1.FittedBox

    按自己的大小调整其子widget的大小和位置。

    2.

    • fit = BoxFit.contain:
    • alignment = Alignment.center:
    • clipBehavior = Clip.hardEdge:

    3.Alignment属性

    • Alignment.topLeft = Alignment(-1.0, -1.0):
    • Alignment.topCenter = Alignment(0.0, -1.0):
    • Alignment.topRight = Alignment(1.0, -1.0):
    • Alignment.centerLeft = Alignment(-1.0, 0.0):
    • Alignment.center = Alignment(0.0, 0.0):
    • Alignment.centerRight = Alignment(1.0, 0.0):
    • Alignment.bottomLeft = Alignment(-1.0, 1.0):
    • Alignment.bottomCenter = Alignment(0.0, 1.0):
    • Alignment.bottomRight = Alignment(1.0, 1.0):
    • Alignment()
    • Alignment.lerp()
      这个属性之前在讲Container已经讲过了,传送门:Flutter(44):Layout组件之Container

    4.BoxFit

    • BoxFit.contain:全图居中显示但不充满,显示原比例
    • BoxFit.cover:图片可能拉伸,也可能裁剪,但是充满容器
    • BoxFit.fill:全图显示且填充满,图片可能会拉伸
    • BoxFit.fitHeight:图片可能拉伸,可能裁剪,高度充满
    • BoxFit.fitWidth:图片可能拉伸,可能裁剪,宽度充满
    • BoxFit.scaleDown:效果和contain差不多, 但是只能缩小图片,不能放大图片

    5. FittedBox尺寸调节(约束)

    • 如果外部有约束的话,按照外部约束调整自身尺寸,然后缩放调整 child ,按照指定条件进行布局。例如使用Container包裹,Container的约束条件会传递给FittedBox。
    • 如果没有外部约束条件,则跟 child 尺寸一样,指定的缩放和位置属性将不起作用。

    6.例子

    1602470521805.jpg
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            title: Text('FittedBox'),
          ),
          body: Column(
            children: [
              Container(
                width: 100,
                height: 100,
                color: Colors.amber,
                child: FittedBox(
                  alignment: Alignment.center,
                  fit: BoxFit.fill,
                  child: Text('FittedBox'),
                ),
              ),
              FittedBox(
                child: Text('FittedBox'),
              ),
            ],
          ),
        );
      }
    

    下一节:Layout组件之AspectRatio

    Flutter(49):Layout组件之AspectRatio

    Flutter教学目录持续更新中

    Github源代码持续更新中

    相关文章

      网友评论

        本文标题:Flutter(48):Layout组件之FittedBox

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