Comments (6)
问题已经解决了, 直接上代码吧,
@override
Widget build(BuildContext context) {
ScreenUtil.instance = ScreenUtil.getInstance()..init(context);
return RefreshIndicator(
onRefresh: _refreshData,
child: Container(
color: Colors.grey[100],
child: StaggeredGridView.countBuilder(
controller: _scrollController,
itemCount: posts.length,
primary: false,
crossAxisCount: 4,
mainAxisSpacing: 4.0,
crossAxisSpacing: 4.0,
itemBuilder: (context, index) => TileCard(
img: '${posts[index]['images'][0]}',
title: '${posts[index]['title']}',
author: '${posts[index]['userName']}',
authorUrl: '${posts[index]['iconUrl']}',
type: '${posts[index]['type']}',
worksAspectRatio: posts[index]['worksAspectRatio'],
),
staggeredTileBuilder: (index) => StaggeredTile.fit(2),
),
),
);
}
你要做的就是在StaggeredGridView
上面添加一个入参itemCount
, 这个入参代表你当前列表的长度, 另外还要加上controller
来监控滑动条的位置, 这样就可以实现分页了!
from flutter_staggered_grid_view.
anyone with a solution to this??
from flutter_staggered_grid_view.
+1, 是做分页的时候出现的问题吧? 同样碰到了, 使用scrollController
来监听分页好像不行呢, 我这边目前是这样的:
@override
void initState() {
super.initState();
_getPosts(_beAdd);
_scrollController.addListener(() {
print('cando: ${_scrollController.position.pixels}');
print('cando: ${_scrollController.position.maxScrollExtent}');
if (_scrollController.position.pixels ==
_scrollController.position.maxScrollExtent) {
print('开始翻页了...............');
_addMoreData();
}
});
}
其中_scrollController.position.maxScrollExtent
的值 始终是initify
, 所以没有执行_addMoreData()
方法. 我判断这边不能使用这个判断条件. 但是目前没有找到解决办法!
from flutter_staggered_grid_view.
I can confirm that @YeFei572 solution works. So you must remember to include itemCount
to StaggeredGridView.builder()
, StaggeredGridView.countBuilder()
or StaggeredGridView.extendBuilder()
and if you specify gridDelegate: SliverStaggeredGridDelegateWithFixedCrossAxisCount
pass items count as staggeredTileCount
argument.
Btw → @YeFei572 pls, use English next time ;)
from flutter_staggered_grid_view.
Can you test with the latest 0.5.0 preview? https://pub.dev/packages/flutter_staggered_grid_view/versions/0.5.0-dev.1
from flutter_staggered_grid_view.
This thread has been closed since there has not been any response for a while. If you are still experiencing a similar issue, please open a new bug.
from flutter_staggered_grid_view.
Related Issues (20)
- MasonryGridView.builder is still scrolling after being given Neverscrollablescrollphysics
- The position state cannot be restored when you use Navigator.of(context).pop(); HOT 2
- Problems when scrolling up
- Document SliverAlignedGrid and SliverMasonryGrid
- Wrap like effect with fixed width and height for children
- SliverMasonryGrid.extent scroll up jank
- readme, examples out of date
- BorderRadius Issue HOT 1
- Rename `examples` back to `example`
- Scroll to specify wiget ?
- scrolling issues with two SliverMasonryGrid.count in the same CustomScrollView HOT 4
- staggered grid view rendering issue
- Masonry Separator? HOT 2
- Scrolling issue with two SliverMasonryGrid in CustomScrollView HOT 13
- `MasonryGridView.custom` doesn't handle `findChildIndexCallback` properly HOT 1
- Images are getting chopped,if we make the image to cover the tile.
- Tile alignment when first row is not filled.
- Can't use `StaggeredGrid.custom` since `StaggeredGridDelegate` is not accessible through library `flutter_staggered_grid_view`.
- Null error when scrolling back to the top
- Scroll position not preserved when switching tabs HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flutter_staggered_grid_view.