如何在flutter中将子窗口大小设置为父窗口小部件大小的一半?

问题描述 投票:0回答:1

我已经为圆形图像小部件创建了一个自定义小部件,在这里我想将图像大小应用到其父级的 50%..

这个小部件可以在 gridview.builder 中或在任何其他小部件(如 sizedbox)内调用..

我只想将图像大小设为主容器大小的一半...

class RoundedImage extends StatelessWidget {
  const RoundedImage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
      padding: const EdgeInsets.all(8),
      decoration: BoxDecoration(
          color: Colors.transparent,
          border: Border.all(color: Colors.grey,width: 1),
          borderRadius: BorderRadius.circular(20)

      ),
      child: ClipRRect(
          borderRadius: BorderRadius.circular(20),
          child: Image.asset('lib/assets/xyz.jpeg',fit: BoxFit.cover,)),
    );
  }
}

flutter
1个回答
0
投票

这样的东西应该有效:

SizedBox(
  width: MediaQuery.of(context).size.width * 0.5,
  height: MediaQuery.of(context).size.height * 0.5,
  child: Image.asset('lib/assets/xyz.jpeg',fit: BoxFit.cover,)
),

在这里:

  • SizedBox
    小部件允许您显式设置子小部件的大小。
  • 并且
    MediaQuery.of(context).size
    获取屏幕的尺寸。
© www.soinside.com 2019 - 2024. All rights reserved.