Flutter FittedBox


FittedBox

根据自己的需要,对child进行缩放和定位

  • 可以看看变换,在绘制时任意变换应用在子窗口的widget

基本用法

根据外部约束,调整child

  • 如果外部没有约束,按照child的大小。
  • 如果外部有约束,按照外部约束调整自身大小,然后缩放调整child,根据条件进行放置
  • BoxFix 属性,可修改child写入布局时期分配的空间
  • alignment修改child于父空间对齐方式,默认:Alignment.center

实例源码

import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';

class FittedBoxDefault extends StatelessWidget {
  final BoxFit curfit;
  final String dec;

  FittedBoxDefault({Key key, this.curfit, this.dec});

  @override
  Widget build(BuildContext context) {
    return  Column(
      children: <Widget>[
        Container(
          //外部有位置约束,内部大小设定失效,保持和外部约束一致
          height: 100.0,
          width: 100.0,
          color: Color(0xfff8bbd0),
          child: FittedBox(
            fit: curfit,
            // 修改child写入布局时期分配的空间
            alignment: Alignment.center,
            //alignment修改child于父空间对齐方式,默认:Alignment.center,
            child: Container(
              color: Color(0xfff48fb1),
              child: Text(
                'fittedBox',
                style: TextStyle(color: Colors.white),
              ),
            ),
          ),
        ),
        Text(dec),
      ],
    );
  }
}