问题描述
当单击 ScrollController
列表中的摘要项时,我希望 body
为 nestedScrollView
小部件的 headersliver
部分设置动画。
class __JobProgDtlBodyState extends State<_JobProgDtlBody> {
ScrollController controller;
@override
void initState() {
controller = ScrollController();
super.initState();
}
@override
Widget build(BuildContext context) {
return nestedScrollView(
floatHeaderSlivers: true,controller: controller,dragStartBehavior: DragStartBehavior.start,headerSliverBuilder: (context,overlap) {
return [
SliverGrid(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3,crossAxisspacing: 2,mainAxisspacing: 2,childAspectRatio: .95,),delegate: SliverChildBuilderDelegate(
(context,position) {
return SummaryGridTile(
position: position,primaryTitle: "{summary.description} ",count:24,isPercentage: summary.isPercentage,primaryIcon: Icons.view_agenda,onClick: () {
controller.animateto(context.size.height,duration: kThemeAnimationDuration,curve: Curves.ease);
});
},childCount: 10,))
];
},body: Stack(
fit: StackFit.expand,children: [
Container(
margin: EdgeInsets.symmetric(horizontal: 4),child: Column(
children: [
Expanded(
child: Container(
margin: EdgeInsets.only(top: 8,left: 4,right: 1),padding:
EdgeInsets.symmetric(vertical: 12,horizontal: 4),child: ListView.builder(
padding:
EdgeInsets.only(top: 14,left: 8,right: 8),shrinkWrap: true,itemCount:10,itemBuilder: (context,pos) {
return SalesEnquiryListItem(
);
})),],Positioned(
child: FloatingActionButton(
child: Icon(Icons.sort),onpressed: () {
FocusScope.of(context).requestFocus(FocusNode());
Navigator.push<dynamic>(
context,MaterialPageRoute<dynamic>(
builder: (BuildContext context) =>
FilteRSScreen(),fullscreenDialog: false),);
},right: 8,bottom: 8,)
],);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)