使用 flutter smart refresher 时希望整个列表视图向下滚动

问题描述

使用 pull 从使用 listView.Builder 和 StreamBuilder 从 API 获取数据的刷新。当我出现下拉刷新指​​示器时,一切正常。但我希望整个列表视图向下滚动,而不仅仅是显示刷新指示器。之后我只能使用 ListView.Builder 小部件,当我使用 listView 时,任何未显示在脚手架页面中的内容

我想要在 pull_to_refresh 自述文件部分显示的那张照片中的那个。 https://github.com/peng8350/flutter_pulltorefresh/raw/master/arts/example5.gif

newFeed.dart 文件

class _NewsFeedState extends State<NewsFeed> {
  HomeBloc _homeBc;
  RefreshController _refreshController = RefreshController();

  @override
  void initState() {
    _homeBc = HomeBloc();
    _homeBc.homePostRequest();
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return StreamBuilder(
      initialData: ResponSEObj(message: MsgState.loading),stream: _homeBc.homePostStream(),builder: (context,snapshot) {
        ResponSEObj received = snapshot.data;
        if (received.message == MsgState.loading) {
          return Center(
            child: CircularProgressIndicator(),);
        } else if (received.message == MsgState.data) {
          print('=>=>=>=>=> ${received.data}');
          List<HomePostData> list = received.data;
          return Expanded(
            child: Padding(
              padding: const EdgeInsets.all(8.0),child: SmartRefresher(
                onRefresh: () {
                  _homeBc.homePostRequest();
                },onLoading: () {
                  _homeBc.loadMoreHomeRequest();
                },controller: _refreshController,// child: ListView(
                //   padding: EdgeInsets.all(10),//     children: list.map((e) {
                //       Post(
                //         onTap: (){},//         image: e.image,//         postTitle: e.title,//         uploadDateTime: e.createdAt,//         postContent: e.description,//       );
                //     }).toList(),//   ),child: ListView.builder(
                  padding: EdgeInsets.all(8.0),physics: AlwaysScrollableScrollPhysics(),itemCount: list.length,itemBuilder: (context,index) {
                    return Post(
                      onTap: () {},image: list[index].image,postContent: list[index].description,uploadDateTime: list[index].createdAt.split('T')[0],postTitle: list[index].title,);
                  },),);
        } else {
          return Center(
            child: Text('Something Wrong'),);
        }
      },);
  }

  @override
  void dispose() {
    _homeBc.homeRqClose();
    super.dispose();
  }
}

home_body.dart 文件

class HomeBody extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Column(
        children: [
          SizedBox(height: getScreenHeightRation(10.0),HomeHeader(),SizedBox(height: getScreenHeightRation(30.0),HomeCatergories(),SizedBox(height: getScreenHeightRation(10.0),NewsFeed(),],);
  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)