Flutter 为什么在颤振上显示红色层
我正在创建一个日历小部件。 我们在星期几的行标题中添加了一个用Expanded包装的装饰框。 为什么使用“展开”时会显示红色层 排除展开后,装饰框不会展开Flutter 为什么在颤振上显示红色层,flutter,Flutter,我正在创建一个日历小部件。 我们在星期几的行标题中添加了一个用Expanded包装的装饰框。 为什么使用“展开”时会显示红色层 排除展开后,装饰框不会展开 class CalenderPage扩展StatefulWidget{ @凌驾 _CalenderPageState createState()=>new_CalenderPageState(); } 类_CalenderPageState扩展状态{ DateTime now=新的DateTime.now(); @凌驾 小部件构建(构建上下
class CalenderPage扩展StatefulWidget{
@凌驾
_CalenderPageState createState()=>new_CalenderPageState();
}
类_CalenderPageState扩展状态{
DateTime now=新的DateTime.now();
@凌驾
小部件构建(构建上下文){
归还新脚手架(
appBar:新的appBar(
标题:新文本(“日历”),
),
正文:新中心(
子项:新列(子项:[
新行(
mainAxisAlignment:mainAxisAlignment.space,
子项:_createWeekOfDays()),
]),
),
);
}
列表_createWeekOfDays(){
列表_weekOfDays=新列表();
(最后一周[‘周一’、‘周二’、‘周三’、‘周四’、‘周五’、‘周六’、‘太阳’、]){
_weekOfDays.add(
新扩展(
孩子:新装饰的盒子(
位置:DecorationPosition.background,
装饰:新盒子装饰(
边界:新边界(
颜色:主题。背景。分割颜色,宽度:1.0),
),
孩子:新的填充物(
填充:仅限新边缘组(顶部:8.0,底部:8.0),
儿童:新文本(
星期一,
样式:新文本样式(fontWeight:fontWeight.bold),
textAlign:textAlign.center,
),
),
),
),
);
}
返回时间(周);;
}
}
这是一个溢出问题
您可以将行
包装在固定的宽度
容器中
body: new Center(
child: new Column(children: <Widget>[
new Container(
width: 320.0,
child: new Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: _createWeekOfDays())),
]),
),
或者,您可以使用列表视图
并指定容器的大小
,以便显示整个视图而无需滚动,但此处您需要稍微修改布局的设计
我添加了一段代码,可能对您有所帮助:
@覆盖
小部件构建(构建上下文){
归还新脚手架(
appBar:新的appBar(
标题:新文本(“日历”),
),
主体:新容器(
身高:50.0,
子:新列表视图(
滚动方向:轴水平,
子项:新列表。生成(7,(int索引){
归还新卡(
子容器:新容器(
宽度:43.0,
身高:30.0,
孩子:新中心(
子项:新文本(_daysOfWeek(索引)),
),
);
}),
),
),
);
}
_daysOfWeek(整数索引){
列表myWeek=新列表(7);
myWeek=[周一、周二、周三、周四、周五、周六、周日];
返回myWeek[索引];
}
}
这是一个溢出问题
您可以将行
包装在固定的宽度
容器中
body: new Center(
child: new Column(children: <Widget>[
new Container(
width: 320.0,
child: new Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: _createWeekOfDays())),
]),
),
或者,您可以使用列表视图
并指定容器的大小
,以便显示整个视图而无需滚动,但此处您需要稍微修改布局的设计
我添加了一段代码,可能对您有所帮助:
@覆盖
小部件构建(构建上下文){
归还新脚手架(
appBar:新的appBar(
标题:新文本(“日历”),
),
主体:新容器(
身高:50.0,
子:新列表视图(
滚动方向:轴水平,
子项:新列表。生成(7,(int索引){
归还新卡(
子容器:新容器(
宽度:43.0,
身高:30.0,
孩子:新中心(
子项:新文本(_daysOfWeek(索引)),
),
);
}),
),
),
);
}
_daysOfWeek(整数索引){
列表myWeek=新列表(7);
myWeek=[周一、周二、周三、周四、周五、周六、周日];
返回myWeek[索引];
}
}
body: new Center(
child: new Column(children: <Widget>[
new Padding(
padding: const EdgeInsets.only(right: 3.0),
child: new Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: _createWeekOfDays())),
]),
),
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text('Calender'),
),
body: new Container(
height: 50.0,
child: new ListView(
scrollDirection: Axis.horizontal,
children: new List.generate(7, (int index) {
return new Card(
child: new Container(
width: 43.0,
height: 30.0,
child: new Center(
child: new Text(_daysOfWeek(index))),
),
);
}),
),
),
);
}
_daysOfWeek(int index) {
List myWeek = new List<String>(7);
myWeek = ['Mon', 'Tue', 'Wed', 'Thur', 'Fri', 'Sat', 'Sun',];
return myWeek[index];
}
}