flutter - Flutter中Overscroll指示器的不同颜色?
问题描述
color
a的顶部和底部Overscroll
指示器是否可以不同ListView
?
我有ListView
颜色渐变的背景,并希望它顶部Overscroll
指示器与渐变顶部匹配,底部指示器与渐变底部匹配。
解决方案
ListView
您可以用 a包装GlowingOverscrollIndicator
并设置其color
参数。要更改顶部和底部的颜色,您可以将侦听器添加到ListView
.
var _color = Colors.blue;
_listener() {
if (_scrollController.offset >=
_scrollController.position.maxScrollExtent &&
!_scrollController.position.outOfRange) {
// bottom
setState(() {
_color = Colors.red;
});
}
if (_scrollController.offset <=
_scrollController.position.minScrollExtent &&
!_scrollController.position.outOfRange) {
// top
setState(() {
_color = Colors.blue;
});
}
}
@override
void initState() {
super.initState();
_scrollController.addListener(_listener);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: GlowingOverscrollIndicator(
axisDirection: AxisDirection.down,
color: _color,
child: ListView.builder(
controller: _scrollController,
physics: ClampingScrollPhysics(),
itemCount: 30,
itemBuilder: (context, index) {
return ListTile(
title: Text('$index'),
);
},
),
));
}
结果:
推荐阅读
- javascript - 如何修复errorerror试图在sql中更新表
- jquery - 是否可以让 $.ajax 返回一个值,比如函数?
- java - 如何提高从 hazelcast 读取数据的 Get 方法性能?
- c# - 我可以检查一个字符串中是否包含数组的元素吗?
- c++ - 为什么当 static_cast(ing) 一个函数为 void* 时编译器的行为会有所不同?
- python - 如果没有“。”,如何返回 true 在同一字符串中的“xyz”之前
- c - 作业:C 编程中的数组拆分
- javascript - 我不能从一个类中运行一个函数
- tensorflow-federated - TensorFlow Federated 的大型数据集处理
- angular - Angular 6 兄弟路由(用于侧边栏)