-
Flutter StaggeredGridView 사용시 scroll position 문제개발/Flutter 2019. 7. 18. 21:23
Symptom : scroll position not match with before navigated.
Cause I guess : When lazy load items and use heavy loading widget(like NetworkImage widget) with StaggeredGridView, scroll position saved wrong position.
You can see scroll position not moved after navigator.push.
But using NetworkImage widget in StaggeredGridView, after navigator.push and pop, The scroll position is moved wrong position.
Solution : After navigator.pop call forced move position.
class DoubleHolder {
double value = 0.0;
}Declare class outside statefulwidget class. Make geter and seter inside statefulwidget.
class MyHomePage extends StatefulWidget {
...
double getOffsetMethod() {
return offset.value;
}
void setOffsetMethod(double val) {
offset.value = val;
}
...
}Define controller and resister listener. And resister controller to StaggeredGridView.
When you Navigator.pop, forced move controller using callback.
When you Navigator.pop, forced move controller using callback.
You can see scroll position not moved.
Source here.
https://gist.github.com/PlatiB/41ea61709d4fee32e1fe7f0d233bcf9e
'개발 > Flutter' 카테고리의 다른 글
앱스토어 리젝) Guideline 2.3.1 - Performance (splash screen stuck) (0) 2019.08.27