我有一个带有AspectRatio小部件的小部件,当我将其放入Expanded时,它得到的尺寸不正确(此尺寸不满足给定的AspectRatio)。
有什么方法可以为AspectRatio获得尽可能多的空间并保持给定的AspectRatio?

我这样做,得到100个黄色单位,所有其他地方都是灰色。而不是使用配给的width:height等于2.0的灰色矩形。

@override
Widget build(BuildContext context) {

return Scaffold(
  appBar: AppBar(
    title: Text(widget.title),
  ),
  body: Center(
    child: Column(
      children: <Widget>[
        Container(
          height: 100.0,
          color: Colors.yellow,
        ),
        Expanded(
          child: AspectRatio(
            aspectRatio: 2.0,
            child: Container(
              color: Colors.grey,
            ),
          ),
        )
      ],
    ),
  ),
);
}

最佳答案

您可以将AspectRatio小部件包装在AlignCenter小部件内。

        Expanded(
                      child: Align(
                        alignment: Alignment.topLeft,
                        child: AspectRatio(
                          aspectRatio: 2.0,
                          child: Container(
                            color: Colors.grey,
                          ),
                        ),
                      ),
                    )

07-27 22:59