[英]A RenderFlex overflowed by 418 pixels on the bottom
在此之前,一切都在 Container 中,沒有任何問題,但是 animation 出現錯誤。 誰能幫忙?)
return AnimatedContainer(
curve: Curves.easeInCirc,
duration: Duration(milliseconds: 200),
height: _heightWidget,
decoration: isTaped
? BoxDecoration(
border: Border(
bottom: BorderSide(
width: 0.0, color: Color.fromRGBO(131, 134, 163, 0.52)),
),
)
: BoxDecoration(
border: Border(
bottom: BorderSide(
width: 1.0, color: Color.fromRGBO(131, 134, 163, 0.52)),
),
),
child: Expanded(
child: Column(
children: <Widget>[
Row(
children: <Widget>[
Container(
height: 43.0,
width: 60.0,
color: widget.dateBackgroundColor != null
? widget.dateBackgroundColor
: Colors.green,
child: Center(
child: MaterialButton(
onPressed: () {
_pageController.previousPage(
duration: widget.pageChangeDuration != null
? widget.pageChangeDuration
: Duration(microseconds: 500),
curve: Curves.easeIn,
);
},
child: Icon(
widget.backwardIcon == null
? Icons.arrow_back
: widget.backwardIcon,
color: Colors.black,
),
),
),
),
Expanded(
child: Container(
height: 43.0,
color: widget.dateBackgroundColor != null
? widget.dateBackgroundColor
: Colors.red,
child: Padding(
padding: EdgeInsets.only(top: 0.0, bottom: 0.0),
child: Center(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
GestureDetector(
onTap: () {
setState(() {
isTaped = !isTaped;
isTaped
? _heightWidget = 464.0
: _heightWidget = 44.0;
});
},
child: Row(
children: <Widget>[
Image.asset('assets/icons/calendar.png'),
SizedBox(
width: 10.0,
),
Text(
checkDateToday(DateFormat(
widget.displayDateFormat == null
? widget.displayDateFormat
: "dd.MM.yyyy")
.format(_selectedDate)),
style: widget.dateStyle != null
? widget.dateStyle
: TextStyle(
color: Colors.black,
fontSize: 14.0,
fontWeight: FontWeight.w100,
),
),
],
)),
],
)),
),
),
),
Container(
height: 43.0,
width: 60.0,
color: widget.dateBackgroundColor != null
? widget.dateBackgroundColor
: Colors.red,
child: Center(
child: MaterialButton(
onPressed: () {
_pageController.nextPage(
duration: widget.pageChangeDuration != null
? widget.pageChangeDuration
: Duration(milliseconds: 700),
curve: Curves.easeIn,
);
},
child: Icon(
widget.forwardIcon == null
? Icons.arrow_forward
: widget.forwardIcon,
color: Colors.black,
),
),
),
),
],
),
Container(
decoration: BoxDecoration(
border: isTaped
? Border(
top: BorderSide(
width: 1.0,
color: Color.fromRGBO(131, 134, 163, 0.52)),
)
: null,
),
padding: EdgeInsets.only(left: 0, right: 0),
child: isTaped
? Column(
children: <Widget>[
SizedBox(height: 12.0),
Container(
child: SizedBox(
height: 21.0,
child: GridView.count(
crossAxisCount: 7,
primary: false,
children: weekDaysOnTop,
)),
),
Row(
children: <Widget>[
Container(
margin: EdgeInsets.only(
left: 25, top: 10, bottom: 0),
child: Text(
_currentMonth,
style: TextStyle(
color: Color.fromRGBO(83, 83, 83, 1),
fontWeight: FontWeight.bold,
fontSize: 24.0,
),
)),
],
),
Container(
child: _calendarCarousel,
),
Row(
children: <Widget>[
Container(
margin: EdgeInsets.only(
left: 25, top: 10, bottom: 0),
child: Text(
_nextMonth,
style: TextStyle(
color: Color.fromRGBO(83, 83, 83, 1),
fontWeight: FontWeight.bold,
fontSize: 24.0,
),
)),
],
),
],
)
: null),
Expanded(
child: PageView.builder(
controller: _pageController,
scrollDirection: Axis.horizontal,
itemCount: _totalPages,
onPageChanged: (direction) => _onPageChange(direction),
itemBuilder: (context, index) {
return _buildPage(index);
})),
],
),
),
);
════════ 小部件庫捕獲的異常═════════════════════════════␕══以下應用父數據時拋出斷言。:ParentDataWidget 使用不正確。
ParentDataWidget Expanded(flex: 1) 想要將 FlexParentData 類型的 ParentData 應用於 RenderObject,該 RenderObject 已設置為接受不兼容類型 BoxParentData 的 ParentData。
通常,這意味着 Expanded 小部件具有錯誤的祖先 RenderObjectWidget。 通常,擴展小部件直接放置在 Flex 小部件內。 有問題的 Expanded 當前放置在 Padding 小部件中。
接收到不兼容的父數據的 RenderObject 的所有權鏈是:Column ← Expanded ← Padding ← DecoratedBox ← ConstrainedBox ← Container ← AnimatedContainer ← ScrollingDayCalendar ← DecoratedBox ← ConstrainedBox ← ⋯
您不能在 AnimatedContainer 中使用擴展,因為它是擴展 Row、Column 或 Flex 的子級的小部件,以便子級填充可用空間。 嘗試在列內使用它。 並用mainAxisSize: MainAxisSize.max
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.