直到三天前一切都很好。我试着按照指南和类似的问题,但没有解决。你能帮我吗?
下面我粘贴错误和代码
错误:
导致错误的相关小部件为: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,
),
),
],
),
),
);
}
}
2条答案
按热度按时间dced5bon1#
我认为您遇到这个错误是因为您传递的下拉列表,首先,检查所选的值不为空。
此外,请确保所有下拉列表的值都不同。
ttisahbt2#
您可以尝试使用可滚动的小部件 Package 代码。例如,小部件SingleChildScrollView或使用ListView
单个子级滚动视图(子级:新建列(子列:[案文..]))