我有一些文本,如果很长,则会导致 renderflex on the right 错误。 我尝试过将长文本包装在 Expanded 中 - 这没有什么区别。编译器建议归咎于第一行,但我无法将其包装在 Expanded 中,因为错误使用 ParentDataWidget 错误。
return
Container(
padding: EdgeInsets.only(top: 1, bottom: 5),
width: MediaQuery.of(context).size.width,
color: Colors.white,
child:
Row(. /** THIS IS THE ROW THE COMPILER SAYS IS AT FAULT - CANNOT WRAP IN EXPANDED **/
children: [
Column(
children: [
Row(
children: [
Column (
children: [
Image.asset(summary.getIconPath(),
width: 100,
errorBuilder: (ctx, error, stackTrace) =>
Text('Image Error')
),
],
),
Column (
children: [
Row(
mainAxisSize: MainAxisSize.min,
children: [
Text(summary.time.toString() + " - " + summary.tempMax.toString()),
],
),
]
),
]
),
Row(
children: [
Text(summary.description ?? ""), /** THIS IS THE TEXT WHICH IF LONG CASES THE ERROR - WRAPPING IN. EXPANDED DOESN"T WORK **/
],
),
],
),
],
),
);
我删除了不必要的行并使用灵活的小部件换行了文本。
Container(
padding: const EdgeInsets.only(top: 1, bottom: 5),
width: MediaQuery.of(context).size.width,
color: Colors.white,
child: Column(
children: [
Row(children: [
Column(
children: [
// Image.asset(summary.getIconPath(),
// width: 100,
// errorBuilder: (ctx, error, stackTrace) =>
// Text('Image Error')
// ),
Container(
width: 100,
)
],
),
const Column(children: [
Row(
mainAxisSize: MainAxisSize.min,
children: [
Text(
"summary.time.toString() - summary.tempMax.toString()"),
],
),
]),
]),
const Flexible(
child: Text(
"sadaass d ssasdad asdas sadsas sasdasasdsa ss das sas adsaasaddsasa sss ad aas ssd sadssdd d sdsdasd sadasdadsads asdadsdasdsa asddaasddsasa sasdsads sddsadsdaas sass as asdaasdssasa d adsdsdadaddaddsaaadaddsasd dsaasdadsasd sadasdasdasd asddas asdasd asdasd asdasd",
softWrap: true,
),
),
],
),
)
这正在起作用。