flutter 布局期间引发了以下Assert:RenderFlex在底部溢出99494像素

1zmg4dgp  于 2023-03-03  发布在  Flutter
关注(0)|答案(2)|浏览(126)

直到三天前一切都很好。我试着按照指南和类似的问题,但没有解决。你能帮我吗?

下面我粘贴错误和代码
错误:

导致错误的相关小部件为:Column Column:file:///C:/Sviluppo/Chores/lib/app/modules/settings/views/settings_view.dart:20:16溢出的RenderFlex的方向为Axis. vertical。溢出的RenderFlex边缘在渲染中已标记为黄色和黑色条纹图案。这通常是由于内容对于RenderFlex来说太大所致。
考虑应用弹性系数(例如使用Expanded小工具)强制RenderFlex的子级适应可用空间,而不是调整为它们的自然大小。这被视为错误情况,因为它指示存在无法看到的内容。如果内容确实大于可用空间,请考虑在将其放入Flex之前使用ClipRect小工具对其进行剪切,或者使用可滚动容器而不是Flex,如ListView。
所讨论的特定RenderFlex是:渲染器Flex#63d42溢出...父数据:偏移=偏移(20.6,56.6)(可以使用大小)...约束:箱形约束(宽=390.9,高=650.8)...尺寸:尺寸(390.9、650.8)...方向:垂直...主轴对准:启动...主轴大小:最大...交叉轴对准:开始...文本方向:ltr...垂直方向:下

这就是密码

import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:get/get.dart';
import 'package:chores/app/modules/settings/controllers/settings_controller.dart';
import 'package:chores/app/theme/text_theme.dart';

class SettingsView extends GetView<SettingsController> {
  @override
  Widget build(BuildContext context) {
    Size size = Get.size;
    return Scaffold(
      body: Container(
        height: size.height,
        width: size.width,
        padding:
        EdgeInsets.only(top: size.height * 0.08, left: size.width * 0.05),
        decoration: BoxDecoration(
          color: Theme.of(context).scaffoldBackgroundColor,
        ),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            Text(
              'Imposta',
              style: kSubHeadTextStyle.copyWith(fontWeight: FontWeight.bold),
            ),
            SizedBox(
              height: size.height * 0.07,
            ),
            ListTile(
              contentPadding:
              EdgeInsets.symmetric(horizontal: size.width * 0.04),
              title: Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children: [
                  Text(
                    'Aspetto',
                    style: kSub2HeadTextStyle.copyWith(
                      color: Theme.of(context).primaryColorDark,
                    ),
                  ),
                  GetBuilder<SettingsController>(
                    init: SettingsController(),
                    builder: (controller) {
                      return DropdownButton(
                        value: controller.selectedTheme,
                        underline: Container(color: Colors.transparent),
                        hint: Text('Seleziona'),
                        items: controller.themes.map(
                              (String? value) {
                            return DropdownMenuItem<String>(
                              value: value,
                              child: Text(value!),
                            );
                          },
                        ).toList(),
                        onChanged: controller.changeTheme,
                        dropdownColor: Theme.of(context).primaryColorLight,
                      );
                    },
                  )
                ],
              ),
              leading: Icon(
                FontAwesomeIcons.palette,
                color: Theme.of(context).primaryColor,
                size: size.width * 0.06,
              ),
            ),
            ListTile(
              title: Text(
                'Promemoria quotidiano',
                style: kSub2HeadTextStyle.copyWith(
                  color: Theme.of(context).primaryColorDark,
                  fontSize: 17,
                ),
              ),
              trailing: GetBuilder<SettingsController>(
                init: controller,
                builder: (_) {
                  return Switch(
                    value: controller.drinkWater!,
                    onChanged: controller.toggleWater,
                    activeTrackColor:
                    Theme.of(context).primaryColor.withOpacity(0.5),
                    activeColor: Theme.of(context).primaryColor,
                  );
                },
              ),
              leading: Icon(
                Icons.opacity,
                color: Theme.of(context).primaryColor,
                size: size.width * 0.07,
              ),
            ),
          ],
        ),
      ),
    );
  }
}
dced5bon

dced5bon1#

我认为您遇到这个错误是因为您传递的下拉列表,首先,检查所选的值不为空。
此外,请确保所有下拉列表的值都不同。

ttisahbt

ttisahbt2#

您可以尝试使用可滚动的小部件 Package 代码。例如,小部件SingleChildScrollView或使用ListView
单个子级滚动视图(子级:新建列(子列:[案文..]))

相关问题