Flutter的FittedBox控件

FittedBox是Flutter的一个控件,用于调整子控件大小以适应可用空间。它依据子控件和空间大小自动缩放或拉伸,支持不同的BoxFit模式如contain、cover、fill等,以及子控件的对齐方式。此控件常用于图片和文本的自适应显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

FittedBox是Flutter中的一个控件,它用于调整其子控件的大小以适应可用空间。它会根据子控件的大小和可用空间的大小,自动进行缩放或拉伸操作,以使子控件恰好填充可用空间。

属性

FittedBox的常用属性包括:

fit:指定子控件如何适应可用空间的枚举值。常用的取值有:

BoxFit.contain:将子控件缩放或拉伸到可用空间内,保持子控件的宽高比。如果子控件大小小于可用空间,则居中显示。
BoxFit.cover:将子控件缩放或拉伸到完全填充可用空间,保持子控件的宽高比。可能会裁剪子控件。
BoxFit.fill:将子控件拉伸到完全填充可用空间,不保持子控件的宽高比。
BoxFit.fitWidth:将子控件缩放到宽度与可用空间相等,保持宽高比。高度可能小于可用空间。
BoxFit.fitHeight:将子控件缩放到高度与可用空间相等,保持宽高比。宽度可能小于可用空间。
alignment:用于控制子控件在可用空间内的对齐方式,通常是一个Alignment对象。

使用FittedBox控件可以很方便地调整子控件的大小以适应可用空间,并灵活地控制子控件的缩放、拉伸和对齐方式。它常用于处理图片、文本或其他需要自适应大小的控件,以便在不同尺寸的父容器中正常显示。

举例

Widget build(BuildContext context) {
    debugPrint('Screen height: ${_videoPlayerController.value.size.height}');
    return Scaffold(
      backgroundColor: Colors.black,
      body: Stack(
        children: [
          Positioned(
            top: 0,
            left: 70*widget.horiRatio,
            child: Container(
              // height: MediaQuery.of(context).size.height,
              child: FittedBox(
                fit: BoxFit.none,
                child: SizedBox(
                  width: _videoPlayerController.value.size.width*widget.horiRatio,
                  height: _videoPlayerController.value.size.height*widget.verRatio,
                  child: Chewie(
                    controller: _chewieController,
                  ),
                ),
              ),
            ),
          ),
        ],
      ),
    );
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值