ListView.builder 的颜色变化
Color change in ListView.builder
ListView.builder
颜色变化
当我到达我填写List的布局时,这个List被传递给ListView并绘制,也就是说,当你将模式更改为夜间时,tile的颜色不会改变,直到你切换到布局或者直到您强制重绘 ListView 本身。
问题是如何更改已呈现的 ListView 元素的颜色
创建ListView如下:
Widget _taskListView() {
return ListView.builder(
itemCount: _task.length,
itemBuilder: (contextItems, index) {
return _task[index];
},
);
}
这是卡片本身,属于元素列表:
Widget _cardTask(BuildContext context, int index, TaskModel taskModel) {
return Padding(
padding: EdgeInsets.only(top: 10.0, left: 5.0, right: 5.0),
child: InkWell(
hoverColor: customRed,
onTap: () {
Navigator.push(context,
MaterialPageRoute(builder: (context) => SetTimeScreen(taskModel))
);
},
child: Container(
height: 80,
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: Colors.black12,
blurRadius: 6.0,
offset: Offset(0, 2),
)
],
color: OtherStaticData.darkMode ? customGray50 : Colors.white,
borderRadius: BorderRadius.all(const Radius.circular(15.0)),
),
child: _cardTaskBody(context, taskModel),
),
),
);
}
问题的解决方案成为架构模式BLoC
ListView.builder
颜色变化当我到达我填写List的布局时,这个List被传递给ListView并绘制,也就是说,当你将模式更改为夜间时,tile的颜色不会改变,直到你切换到布局或者直到您强制重绘 ListView 本身。
问题是如何更改已呈现的 ListView 元素的颜色
创建ListView如下:
Widget _taskListView() {
return ListView.builder(
itemCount: _task.length,
itemBuilder: (contextItems, index) {
return _task[index];
},
);
}
这是卡片本身,属于元素列表:
Widget _cardTask(BuildContext context, int index, TaskModel taskModel) {
return Padding(
padding: EdgeInsets.only(top: 10.0, left: 5.0, right: 5.0),
child: InkWell(
hoverColor: customRed,
onTap: () {
Navigator.push(context,
MaterialPageRoute(builder: (context) => SetTimeScreen(taskModel))
);
},
child: Container(
height: 80,
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: Colors.black12,
blurRadius: 6.0,
offset: Offset(0, 2),
)
],
color: OtherStaticData.darkMode ? customGray50 : Colors.white,
borderRadius: BorderRadius.all(const Radius.circular(15.0)),
),
child: _cardTaskBody(context, taskModel),
),
),
);
}
问题的解决方案成为架构模式BLoC