首页 > 解决方案 > ListView 使 DecoratedBox 溢出 SizedBox 区域

问题描述

import 'package:flutter/material.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    //var size = MediaQuery.of(context).size;
    return MaterialApp(home: Builder(builder: (_) {
      var size = MediaQuery.of(_).size;

      return Scaffold(
        body: ListView(children: [
          SizedBox(
            width: size.width * 0.8,
            height: size.height * 0.2,
            child: DecoratedBox(decoration: BoxDecoration(color: Colors.red)),
          ),
        ]),
      );
    }));
  }
}

void main() {
  runApp(
    new MyApp(),
  );
}

我希望红色框是屏幕宽度的 4/5。但似乎该框跨越了整个屏幕宽度。( 对不起,我的英语不好)。

这是一个错误,还是有限制盒子大小的解决方法?我目前正在使用 Flutter 1.20.3。

标签: flutter

解决方案


而不是使用ListView,使用ColumnSingleChildScrollView


推荐阅读